我想发布一个模块到几个组件管理器系统:npmjs,bower等...另外我还想创建可下载的版本,例如AMD中的requirejs风格,一个commonJS风格,一个全局风格在浏览器中的命名空间,为他们每个人缩小等等......这些都是超过10个版本。如何测试同一模块的多个版本?
我目前有一个AMD版本,我用amd风格的karma,jasmine和requirejs为它写了单元测试。你有什么建议,如何为他们生成其他版本和测试?
我的意思是我不能决定我应该有什么作为转化的基础。每个输出包中都有一个共同部分,并且还有一个与包相关的部分。
AMD - requirejs(我不知道如何使用配置选项)
define(["module", "dependency"], function (module, dependency) {
var m = {
config: function (options){
//...
},
//...
//do something with the dependency
};
m.config(module.config()); //load config options set by require.config()
return m;
});
CommonJS的
var dependency = require("dependency");
module.exports = {
config: function (options){
//...
},
//...
//do something with the dependency
};
全球
var m = (function(){
return {
config: function (options){
//...
},
//...
//do something with the dependency
};
})(dependency);
我不知道,我应该发展常见的代码和每次测试之前的构建,还是我应该开发一个包,测试它并编写一个转换从那到另一个版本?
我打算在自动发布它们之前,使用gulp为它们中的每一个自动创建构建和调用单元测试。哦,我还需要一个自动版本号更改。顺便说一句。是否有必要在构建过程之后调用单元测试,你觉得怎么样?我只是想确定,这不是一个bug的代码被发布...