导入自调用功能

时间:2017-10-23 10:04:18

标签: javascript ecmascript-6

我创建了一个特定的效果并将其包装到myEffect.js文件中的自调用函数中,

(function () {
    // yada yada...
}());

是否可以使用es6导入方式将其导入到我的主文件中,以便它可以按原样运行?原因我正在做这个是我的主要js文件有其他misc的东西,这个效果本身很长,我希望能够拆分。

2 个答案:

答案 0 :(得分:4)

评估模块时会产生效果,当在某个其他模块中至少导入一次时会发生这种情况。

您根本不需要IIFE,ES6模块已经提供了自己的范围。

您不需要导出任何内容,因为您的所有模块应该执行副作用。它没有结果值。 (这可能被认为是一个设计缺陷,但我们不讨论它。)

您需要做的就是

// myEffect.js
… // yada yada

// main.js
import 'myEffect.js';

答案 1 :(得分:0)

是的,您可以导入文件,并在任何地方执行该功能 例如

`
module.exports=(function () {
    // yada yada...
}());
`
`var effect = require('./effect.js)

` 现在使用效果你可以访问文件中的那些。