如何防止Rollup在名字中添加 `$1` 后缀?

问题描述 投票:0回答:1

我不明白这个问题的答案,@rollup/plugin-inject 如何解决我的问题。所以我问一个新问题。 Rollup 正在为我的汇总模块导出的四个名称附加

$1
后缀。我的模块没有外部依赖项,我找不到全局范围中已定义的四个名称中的任何一个

  • C
  • E
  • Is
  • CFunc

为什么 Rollup 会考虑之前声明的这些内容?还是还有其他原因?

如何防止这种情况发生?或者我应该将它们包装在命名空间中?任何导入它们的人都可以包装它们或给它们起别名。

这是一个带有命名导出的 JavaScript 库。回购协议在这里:https://github.com/sidewayss/rAF

请参阅

src/globals/js
了解前三个名称。第四个在
src/prop/func.js
中声明。请参阅
rollup.config.mjs
了解汇总配置。

另外,请参阅上一个问题,了解此问题的一部分的各种答案:Rollup 说我的 const 名称是全局的,用 $1 后缀重命名它们

global rollupjs
1个回答
0
投票

我一直想通了这一点,只是因为 @rollup/plugin-replace doesn't 替换了所有

$1
后缀(它确实替换了一些)。这是由两件事造成的:

  • Rollups 发出警告的循环导入依赖项。在看到警告之前我没有注意。我最终能够将它们全部消除,只有一点点不便。这样做之后,我回到这个问题,发现大部分
    $1
    已被消除。
  • 在晦涩的、未经测试的函数中未发现的即时编译错误,其中引用的名称尚未导入。
    import {name} from "...";
    解决了这个问题。

现在我的捆绑文件中不再有

$1
,我可以取消注释我的插件并继续调试。

© www.soinside.com 2019 - 2024. All rights reserved.