Javascript 从LiveScript模块导出函数的最佳方式是什么?
使用LiveScript,当您在文件中编写某些代码时,默认编译器会将编译后的代码包装在匿名函数中: 汇编此文件:Javascript 从LiveScript模块导出函数的最佳方式是什么?,javascript,optimization,livescript,Javascript,Optimization,Livescript,使用LiveScript,当您在文件中编写某些代码时,默认编译器会将编译后的代码包装在匿名函数中: 汇编此文件: add10 = -> it + 10 提出: (function(){ var add10; add10 = function(it){ return it + 10; }; }).call(this); 没关系!但是我想为我的模块导出一些API函数,所以我现在要做的是: add10 = -> it + 10 this.add10 = add10
add10 = -> it + 10
提出:
(function(){
var add10;
add10 = function(it){
return it + 10;
};
}).call(this);
没关系!但是我想为我的模块导出一些API函数,所以我现在要做的是:
add10 = -> it + 10
this.add10 = add10
鉴于:
(function(){
var add10;
add10 = function(it){
return it + 10;
};
this.add10 = add10;
}).call(this);
我在浏览器环境中工作,不知道是否有更好的解决方案。它实际上是有效的,但我会像这样:
(function(w){
var add10;
add10 = function(it){
return it + 10;
};
w.add10 = add10;
}(this));
代码更少(在这样一个小例子中没有太大区别)。我想说,使用:
export add10 = (+ 10)
:)。仅仅添加一个var w=this有什么不对;以前?我不知道我在寻找好的实践技巧!如果我理解正确,您更喜欢最后一个示例,而不是第二个,因为它的代码更少。但是,如果你使用压缩,这并不重要——你应该这样做,尤其是当文件足够大,以至于
w.
和之间的差异变得显著时。
是的,我使用压缩。真正的原因是我宁愿避免使用这个关键字Livescript的主页并没有提到这个特性。我已经尝试在上面搜索“导出”,但我没有在代码中尝试。我本应该:)我已经为此发行了一期: