如何解决Loadable-Components 作为带有 Next.JS
我正在尝试使用我创建的组件库以在其他项目中重用。在其中,我使用了带有 webpack 和代码拆分的可加载组件。
但是,在导入 Next.js 项目时,会返回错误,表明您无法从该库中导入组件。
我有两个项目:
- 项目 A = 组件库
- 项目 B = 将导入项目 A
项目 B(项目 A):
(node:20271) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'SomeComponent' of undefined
导入库的配置(项目 A):
webpack.build.config.js
module.exports = {
...
entry: {
[packageName]: './src/index.js'
},target: 'web',output: {
chunkFilename: '[chunkhash].chunk.js',library: packageName,libraryTarget: 'commonjs2',globalObject: 'this'
},externals: nodeExternals(),optimization: {
minimize: true,usedExports: true,splitChunks: {
chunks: 'all',},plugins: [
new LoadablePlugin()
],...
}
src/index.js
import styled,{ ServerStyleSheet,createGlobalStyle } from 'styled-components';
export * from '@components';
export * from '@style';
export { default as Icons } from '@assets/icons';
export { styled,ServerStyleSheet,createGlobalStyle };
以上,只有@components文件夹有loadable-components
.babelrc
{
"plugins": [
"styled-components",[
"@babel/plugin-proposal-pipeline-operator",{
"proposal": "minimal"
}
],[
"@babel/plugin-proposal-optional-chaining",{
"loose": false
}
],[
"@babel/plugin-proposal-class-properties",{
"loose": true
}
],"@loadable/babel-plugin"
]
}
在项目B中,我只用生成的块导入这个库。
我做错了什么?有什么建议吗?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。