在没有动态导入的情况下,将CommonJS拆分到Next.js可以通过以下步骤实现:
lib
目录。require
语法引入需要拆分的CommonJS模块。例如:const myModule = require('../lib/myModule');
myModule.doSomething();
next.config.js
)中,可以使用webpack的代码分割功能来进一步优化拆分的CommonJS模块。例如:module.exports = {
webpack: (config, { isServer }) => {
if (!isServer) {
config.optimization.splitChunks.cacheGroups.commons = {
name: 'commons',
chunks: 'all',
minChunks: 2,
};
}
return config;
},
};
上述配置将会把CommonJS模块拆分到一个名为commons
的文件中。
import dynamic from 'next/dynamic';
const MyComponent = dynamic(() => import('../lib/commons'));
export default function MyPage() {
return <MyComponent />;
}
这样,拆分后的CommonJS模块将会在需要时动态加载。
总结起来,通过将CommonJS模块复制到Next.js项目中,并在页面或组件中引入和使用,再结合webpack的代码分割功能,可以在没有动态导入的情况下将CommonJS拆分到Next.js中。
领取专属 10元无门槛券
手把手带您无忧上云