rollup 插件“@rollup/plugin-commonjs”解析 package.json 并抛出意外的令牌错误

yod*_*ama 5 rollup commonjs node.js package.json

TL;DR:为什么要@rollup/plugin-commonjs查看我的 package.json 以及如何阻止它,以便我不必任意包含@rollup/plugin-json来解决问题?

我有一个用 JS 编写的 Node.js、CommonJS require()/文件module.exports(),我想在浏览器中工作,因此我使用 Rollup 来捆绑和“浏览”Node.js 代码。

环境

  • macOS 蒙特利版本 12.4
  • npm 版本 8.3.1
  • 节点版本 16.14.0
  • 汇总版本 2.75.6
  • @rollup/plugin-json 版本 4.1.0

rollup.config.js

这是我的rollup.config.js

// rollup.config.js
import commonjs from '@rollup/plugin-commonjs';
// import json from '@rollup/plugin-json';

const devMode = (process.env.NODE_ENV === 'development');
console.log(`${ devMode ? 'development' : 'production' } mode bundle`);

export default [
  {
    input: "test/_client_test.js",
    output: {
      file: 'build/test/test.js',
      format: 'iife'
    },
    plugins: [
      commonjs()
    ]
  }
];

Run Code Online (Sandbox Code Playgroud)

问题

运行时npm rollup -c我得到以下输出:

[!] (plugin commonjs--resolver) Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files)
package.json (2:8)
1: {
2:   "name": "my-package",
           ^
3:   "version": "0.0.1",
4:   "description": "hello world",
Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files)
    at error (/***/node_modules/rollup/dist/shared/rollup.js:198:30)
    at Module.error (/***/node_modules/rollup/dist/shared/rollup.js:12553:16)
    at Module.tryParse (/***/node_modules/rollup/dist/shared/rollup.js:12930:25)
    at Module.setSource (/***/node_modules/rollup/dist/shared/rollup.js:12835:24)
    at ModuleLoader.addModuleSource (/***********/rollup.js:22309:20)
Run Code Online (Sandbox Code Playgroud)