ES6 为 Javascript 带来了一个很好的模块系统。模块定义如下:
export default {
....
};
可以使用 import myLib from "myModule"
轻松导入到源中.
但是如果模块导出一个像这样的“构造函数”函数怎么办:
export default ( actions ) => Reflux.createStore ( {
state: {
.....
},
config: {
.....
},
init: function() {
this.listenToMany ( actions );
},
}
您可以导入构造函数,然后使用它来执行它
import MyStoreConstructor from "./datastore";
var store = MyStoreConstructor(actions);
有没有更优雅的方法来做到这一点?
最佳答案
你并没有真正导出一个构造函数,它更像是一个工厂(并且应该使用小写以获得良好的风格),并且我认为它不会变得比这更 slim 。工厂如何知道这些行动?此外,模块最多只评估一次(至少在我知道的每个模块系统中)以避免不必要的副作用 - 每个后续请求都将获得某种缓存版本。您可以使用依赖注入(inject)库,例如 angularjs有,但这是一个与模块不同的概念。
关于javascript - 使用 ES6 模块进行参数导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30077673/