несколько пакетов с браузером, используя внешние модули

Я хочу объединить некоторый общий код в виде модулей CommonJS, а затем использовать эти общие модули из другого пакета и/или непосредственно из глобального.

entry1-common.js
-- a.js 
-- b.js 

entry2-app.js
-- x.js
    inside i would like to to access entry1-common's a.js here
    var moduleA = require('./a.js');

<script> 
  // i would also like to access modules from outside
  var moduleA = require('./a.js'); 
  var moduleX = require('./x.js');
</script>

Я использую глоток. Некоторые параметры браузера, которые кажутся мне нужными, но не совсем меня там:

browserify(bundleConfigs: [{
  entries: './entry1-common.js',
  dest: dest,
  outputName: 'common.js',
  hasExports: true, // this gives me require() function on the outside
  require: ['jquery']
}])

Нужно ли связывать «сквозной» и «дуплексер»? Я видел примеры этого в документах браузера.

Я могу создать два отдельных пакета в своей задаче gulp, но я не знаю, как получить доступ к модулям из одного в другой.


person Elijah    schedule 16.05.2015    source источник
comment
Взгляните на этот ответ: stackoverflow.com/a/30294762/2943490   -  person user2943490    schedule 19.05.2015


Ответы (1)


Читая о Webpack, я вижу, как они решают так много вопросов, в том числе и вышеприведенный. Вы можете систематически экстернализировать все, как показано в документации по веб-пакету. Фрагмент ниже:

  externals: [
    {
      a: false, // a is not external
      b: true, // b is external (require("b"))
      "./c": "c", // "./c" is external (require("c"))
      "./d": "var d" // "./d" is external (d)
    },
    // Every non-relative module is external
    // abc -> require("abc")
    /^[a-z\-0-9]+$/,
    function(context, request, callback) {
      // Every module prefixed with "global-" becomes external
      // "global-abc" -> abc
      if(/^global-/.test(request))
        return callback(null, "var " + request.substr(7));
      callback();
    },
    "./e" // "./e" is external (require("./e"))
  ]
person Elijah    schedule 24.07.2015