我正在开发一个使用Babel+TypeScript的React组件库,我正在使用Rollup创建捆绑包,然后从React应用程序中导入组件。
在我将@rollup/plugin-json中的json()添加到我的plugins之前,一切都很正常。在添加之后,我最终得到一个错误,它说:
Uncaught Error: Cannot find module 'cluster'移除这个插件可以让构建工作再次正常工作,但是我不能像这样做JSON导入
import config from './config.json'在我的库代码中。为了能够使用这个插件或者一般从React组件库导入的JSON,我还需要做些什么吗?任何建议都将不胜感激!
我的汇总配置:
import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import babel from '@rollup/plugin-babel';
import json from '@rollup/plugin-json';
import pkg from './package.json';
const extensions = ['.js', '.jsx', '.ts', '.tsx'];
export default [
{
input: 'src/index.ts',
output: [
{
format: 'cjs',
file: pkg.main,
sourcemap: true
},
{
format: 'es',
file: pkg.module,
sourcemap: true
}
],
plugins: [
peerDepsExternal(),
resolve({ extensions }),
commonjs(),
babel({
extensions,
babelHelpers: 'runtime',
exclude: ['node_modules/**']
}),
json() // This is the problematic line
]
}
];我的依赖版本:
{
"devDependencies": {
"@babel/core": "^7.13.14",
"@rollup/plugin-babel": "^5.3.0",
"@rollup/plugin-commonjs": "^18.0.0",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^11.2.1",
"react": "^16.8",
"react-dom": "^16.8",
"rollup": "^2.44.0",
"rollup-plugin-peer-deps-external": "^2.2.4",
"typescript": "^4.2.3"
}
}发布于 2021-04-16 09:15:30
我在使用@rollup/plugin-json插件时也遇到了同样的问题,我强烈建议您将JSON配置更改为一个简单的ts文件:
import config from './config';你的文件是这样的:
const config = {
// ...
};
export default config;另外,我强烈建议你使用tsdx来创建你的库包,它可以节省你的时间。使用tsdx创建一个新库,然后将所有代码迁移到这个令人敬畏的零配置TypeScript包开发中。
https://stackoverflow.com/questions/67030279
复制相似问题