带有 rollup-plugin-multi-entry 的 rollup-js - 具有重复常量名称的多个文件 outputs/problem
rollup-js with rollup-plugin-multi-entry - multiple file outputs/problem with duplicate constant names
我对 rollup 还很陌生,我对 transpiling/compiling 一个有多个输入文件的库有疑问,其中许多文件包含重复的常量名称。
我的rollup.config.js
:
import multiEntry from "rollup-plugin-multi-entry"
import babel from "rollup-plugin-babel"
export default {
input: __dirname + "/src/*.js",
plugins: [
babel({}),
multiEntry()
],
output: {
file: __dirname + "/lib/main.js",
format: "esm",
}
}
许多源文件包含名为 ENTITY_NAME
:
的常量
export const ENTITY_NAME = "entity1name"
export const ENTITY_NAME = "entity2name"
当我 运行 汇总时,我收到以下警告:
rollup-plugin-multi-entry:entry-point re-exports 'ENTITY_NAME' from both packages\common\blah\src\entityOne.js and packages\common\blah\src\entityTwo (will be ignored)
...所以结果 main.js
不包含 ENTITY_NAME
.
我该如何解决这个问题?唯一可能的两种解决方案是输出到:
- 单个文件,
- 包含单独编译的每个输入文件的单个文件。
我一直在寻找如何配置这些解决方案中的任何一个,但我找不到任何东西。谁能提出解决方案?
已解决。我需要将以下内容添加到我的 rollup.config.js 中:-
preserveModules: true,
我对 rollup 还很陌生,我对 transpiling/compiling 一个有多个输入文件的库有疑问,其中许多文件包含重复的常量名称。
我的rollup.config.js
:
import multiEntry from "rollup-plugin-multi-entry"
import babel from "rollup-plugin-babel"
export default {
input: __dirname + "/src/*.js",
plugins: [
babel({}),
multiEntry()
],
output: {
file: __dirname + "/lib/main.js",
format: "esm",
}
}
许多源文件包含名为 ENTITY_NAME
:
export const ENTITY_NAME = "entity1name"
export const ENTITY_NAME = "entity2name"
当我 运行 汇总时,我收到以下警告:
rollup-plugin-multi-entry:entry-point re-exports 'ENTITY_NAME' from both packages\common\blah\src\entityOne.js and packages\common\blah\src\entityTwo (will be ignored)
...所以结果 main.js
不包含 ENTITY_NAME
.
我该如何解决这个问题?唯一可能的两种解决方案是输出到:
- 单个文件,
- 包含单独编译的每个输入文件的单个文件。
我一直在寻找如何配置这些解决方案中的任何一个,但我找不到任何东西。谁能提出解决方案?
已解决。我需要将以下内容添加到我的 rollup.config.js 中:-
preserveModules: true,