gpt4 book ai didi

npm - 带有browserify的多个 bundle ,在外部使用模块

转载 作者:行者123 更新时间:2023-12-04 12:47:40 25 4
gpt4 key购买 nike

我想将一些通用代码捆绑为 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>

我正在使用 gulp 。一些 browserify 选项似乎是我需要的,但并没有让我到达那里:
browserify(bundleConfigs: [{
entries: './entry1-common.js',
dest: dest,
outputName: 'common.js',
hasExports: true, // this gives me require() function on the outside
require: ['jquery']
}])

我需要捆绑“直通”和“双工器”吗?我在 browserify 文档中看到了这样的例子。

我可以在我的 gulp 任务中创建两个单独的包,但我不知道如何从一个到另一个访问模块。

最佳答案

阅读有关 Webpack 的信息,我看到他们在哪里解决了很多问题,包括上面的问题。您可以系统地外部化所有内容,如 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"))
]

关于npm - 带有browserify的多个 bundle ,在外部使用模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30280911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com