我是UMD和AMD的新手。我在Browserify中编写了一个JS库,我刚刚遇到了UMD。我的理解是,如果我为每个模块包含一段代码,我的模块应该可以在CommonJs和AMD中使用。
这是我的示例模块。
./ SRC / main.js
import Cookie from 'js-cookie'; // from npm install js-cookie
import lib1 from './lib/lib1';
window.MyModule = function MyModule(options) {
let lib1;
function methodA() {
}
return {
methodA: methodA
};
(function init() {
lib1 = lib1();
// Some initialization code.
})();
};
module.exports = window.MyModule;
./ LIB / lib1.js
module.exports = (options) => {
function func1() {
}
return {
func1: func1
};
}
这就是我使用browserify打包所有内容的方式
browserify src/main.js --outfile dist/main.js --debug
当我想使用这个模块时,我就这样做了。
<script src="//main.js"></script>
我的问题是,如何将我的模块转换为UMD,以便它可以包含在CommonJS和AMD中。
答案 0 :(得分:0)
您可以使用deamdify
,es6ify
和deglobalify
来完成您的工作。
npm install deamdify es6ify deglobalify
browserify -t deamdify -t es6ify -t deglobalify main.js -o bundle.js
来源:http://dontkry.com/posts/code/browserify-and-the-universal-module-definition.html