为什么rollup.js在输出中不包含-排他导出的值?

Why does rollup.js not include - exclusively - exported values in its output?

本文关键字:-排 包含 js rollup 输出 为什么      更新时间:2023-09-26

我是Rollup - rollupjs.org的新手-不明白为什么导出的值被删除;大概是在卷起的时候摇树。

我有一个data.json,其中包含一些基本数据,我想作为模块的一部分提供:

{
    "colors": ["red", "green", "blue"],
    "shapes": ["circle", "triangle", "square"]
}

…和一个将导出它们的模块:

import { colors, shapes } from './data.json';
function run() {
  console.log('Run, Forest, Run.');
}
export default run;
export {
  colors,
  shapes
};

rollup.js是否不承认导出语句被认为是"使用",所以任何专门在那里的东西都会从输出中得到"树摇"?

如果入口模块导出colorsshapes,则认为"使用"这些值。如果某个内部模块导出了它们,那么只有当另一个模块导入colorsshapes并使用它们时,它们才会被包含。

下面是第一种情况的演示(输入模块导出值),下面是第二种情况的演示(值由not-main.js导出)。

如果你的情况不是这样,你可能遇到了一个bug,在这种情况下,请提交一个问题!