首先,我理解为什么rollup.js需要在某个变量的末尾添加额外的字符串以避免碰撞但是...我不明白如何"连接/导入"一个简单的javascript文件谁不是amd/commonjs/es6,但简单的揭示模块!
我有以下文件结构:
foo.js
var Foo = (function () {
var someMethod = function () {};
return {
someMethod: someMethod
};
})();
Run Code Online (Sandbox Code Playgroud)
bar.js
(function(module) {
module.bar = "bar";
})(Foo);
Run Code Online (Sandbox Code Playgroud)
main.js
import "foo.js"
import "bar.js"
Run Code Online (Sandbox Code Playgroud)
建成后,我得到了:
build.js
var Foo$1 = (function () { // Here the problem
var someMethod = function () {};
return {
someMethod: someMethod
};
})();
(function(module) {
module.bar = "bar";
})(Foo); // Ouupss !
Run Code Online (Sandbox Code Playgroud)
那我怎么能得到Foo而不是Foo $ 1?对于bar.js,还是Foo $ 1而不是Foo?
编辑:
如果在main.js中,我在视图中使用默认导入来覆盖默认名称:
import Foo from "foo.js"
Run Code Online (Sandbox Code Playgroud)
我得到这样的错误(正常!):
不存在的导出'default'是由main.js从foo.js导入的
这是一个误解,但在研究了stackoverflow和互联网后,我发现我怎么能解决这个棘手的问题. …