我正在处理一个用户脚本 - 特别是this userscript - 它被设计为封装模块中的功能。为了能够进行一些自动化测试,我想将这些模块分成它们自己的文件,并使用node.js的模块导出,并要求将函数合并成一个文件以用于Greasemonkey或简单的浏览器扩展。重构脚本以使用javascript模块
我首先想到的是刚刚的模块复制到自己的文件,这样
module.js
var exportedModule = (function(){
var Module = {
// public functions and members
};
//private functions and members
return Module;
}());
module.exports = exports = exportedModule;
然后有需要每个模块的中央一号文件,也许编译他们有类似Browserify。
的script.js
var importedModule = require(./module);
importedModule.init();
这可能吗?
请注意,用户脚本中的['require'是关键字](http://wiki.greasespot.net/Metadata_Block#.40require)。旧的标题有点混乱。 ...... PS:你应该使用'@ require'来处理AMAP这种东西,但目前它只能在Greasemonkey和Tampermonkey中完全支持。 – 2013-02-26 00:17:33
@BrockAdams感谢您的澄清编辑。我们正在使用require,但正在努力将此脚本捆绑到浏览器扩展中。我主要研究nodejs和requirejs等方法来改进我们的开发过程。 – forwardslash 2013-02-26 21:05:01