2

私は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>

私の質問は、CommonJS と AMD の両方に含めることができるように、モジュールを UMD に変換するにはどうすればよいかということです。

4

1 に答える 1

0

deamdifyes6ifyおよびを使用して、目的の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

于 2016-10-07T13:37:42.277 に答える