如何将我的CommonJS模块转换为UMD

How to convert my CommonJS module to UMD?

本文关键字:转换 UMD 模块 CommonJS 我的      更新时间:2023-09-26

我是新来的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中。

你可以使用deamdify, es6ifydeglobalify来做你想做的。

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