gpt4 book ai didi

node.js - 错误: Identifier 'Reader' has already been declared while bundling fstream with rollup.js

转载 作者:太空宇宙 更新时间:2023-11-03 23:48:00 32 4
gpt4 key购买 nike

我是使用 Rollup 配置内容的新手,我正在尝试将 Node CLI 应用程序配置为捆绑在单个 cli.bundle.js 文件中,该文件可以使用简单的 Node cli.bundle.js 执行,而无需之前 npm 安装任何内容。

顺便说一句,我们已经成功地使用 zeit/pkg 做到了这一点,但我们更愿意注意到所有的 Nodejs 可执行文件都捆绑在里面,所以我们正在尝试使用 rollup 而不是 pkg。

我们遇到的问题是,当遍历应用程序的不同node_modules时,rollup.js崩溃并出现错误:

[!] Error: Identifier 'Reader' has already been declared
../../common/js-common/node_modules/fstream/lib/file-reader.js (7:4)
5: var fs = require("graceful-fs")
6: , fstream = require("../fstream.js")
7: , Reader = fstream.Reader
^
8: , inherits = require("inherits")
9: , mkdir = require("mkdirp")
Error: Identifier 'Reader' has already been declared
at error (/home/.../src/external-data/external-data-etl/node_modules/rollup/dist/shared/node-entry.js:5400:30)
at Module.error (/home/.../src/external-data/external-data-etl/node_modules/rollup/dist/shared/node-entry.js:9820:16)
at tryParse (/home/.../src/external-data/external-data-etl/node_modules/rollup/dist/shared/node-entry.js:9713:23)
at Module.setSource (/home/.../src/external-data/external-data-etl/node_modules/rollup/dist/shared/node-entry.js:10076:33)
at Promise.resolve.catch.then.then.then (/home/.../src/external-data/external-data-etl/node_modules/rollup/dist/shared/node-entry.js:12362:20)

在使用汇总查找此错误时,似乎人们在执行时遇到的错误比在捆绑时出现的更多,所以我不知道我能做什么。这个重复的标识符位于我无法控制的第三方代码中:(

这是我的 rollup.config.js

编辑:我尝试使用新的@rollup/plugins来查看它们是否有修复,但我仍然遇到同样的问题。

import commonjs from '@rollup/plugin-commonjs';
import resolve from '@rollup/plugin-node-resolve';
import json from '@rollup/plugin-json';

export default {
input: 'dist/index.js',
output: {
format: 'cjs',
file: './cli.bundle.js'
},
plugins: [
commonjs(),
resolve(),
json() // asked and added when parsing 'got' package imported by 'download' package
]
};

我们的构建过程是:

  1. 使用 tsc 从 typescript (src) 转换为 js (dist)
  2. 将应用程序捆绑(dist)到单个可运行文件中

我们宁愿不包含 babel 或 typescript 插件来转译,以保持独立,当然 (dist) 应用程序就足够了(因为它对于 zeit/pkg 来说已经足够了)。

我们是不是做错了什么?

最佳答案

问题是您的依赖性,它没有以正确的方式编码,您需要纠正他们所做的代码错误。

关于node.js - 错误: Identifier 'Reader' has already been declared while bundling fstream with rollup.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60322247/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com