首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到模块:使用@rollup/plugin-json时无法解析'cluster‘

找不到模块:使用@rollup/plugin-json时无法解析'cluster‘
EN

Stack Overflow用户
提问于 2021-04-10 10:29:01
回答 1查看 342关注 0票数 1

我正在开发一个使用Babel+TypeScript的React组件库,我正在使用Rollup创建捆绑包,然后从React应用程序中导入组件。

在我将@rollup/plugin-json中的json()添加到我的plugins之前,一切都很正常。在添加之后,我最终得到一个错误,它说:

代码语言:javascript
复制
Uncaught Error: Cannot find module 'cluster'

移除这个插件可以让构建工作再次正常工作,但是我不能像这样做JSON导入

代码语言:javascript
复制
import config from './config.json'

在我的库代码中。为了能够使用这个插件或者一般从React组件库导入的JSON,我还需要做些什么吗?任何建议都将不胜感激!

我的汇总配置:

代码语言:javascript
复制
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
        ]
    }
];

我的依赖版本:

代码语言:javascript
复制
{
    "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"
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-04-16 09:15:30

我在使用@rollup/plugin-json插件时也遇到了同样的问题,我强烈建议您将JSON配置更改为一个简单的ts文件:

代码语言:javascript
复制
import config from './config';

你的文件是这样的:

代码语言:javascript
复制
const config = {
  // ...
};

export default config;

另外,我强烈建议你使用tsdx来创建你的库包,它可以节省你的时间。使用tsdx创建一个新库,然后将所有代码迁移到这个令人敬畏的零配置TypeScript包开发中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67030279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档