gpt4 book ai didi

javascript - 防止 browserify 包含模块的依赖项

转载 作者:搜寻专家 更新时间:2023-10-31 23:00:42 26 4
gpt4 key购买 nike

我想在浏览器中使用我的 NodeJS 模块 - 所以我使用 browserify 来处理它。

现在,如何阻止 browserify 将模块的依赖项包含在捆绑文件中?在这种情况下,依赖项是 lodash,我将在 index.html 中单独加载它。

这是我到目前为止所得到的:

index.html

<script src="lodash.js"></script>
<script src="my-module.js"></script>

索引.js

var _ = require('lodash');

_.each([0, 1, 2], function(item) {
console.log(item);
});

gulp.js

var browserify = require('browserify'),
source = require('vinyl-source-stream');

gulp.task('browserify', function() {
return browserify()
.require('./index.js', {
expose: 'my-module'
})
.bundle()
.pipe(source('my-module.js'))
.pipe(gulp.dest('./'));
});

最佳答案

browserify-shim 提供设置全局变量的选项。

这是我对代码所做的更改。

包.json

{
"browserify-shim": {
"lodash": "global:_"
},
"browserify": {
"transform": ["browserify-shim"]
}
}

gulp.js

gulp.task('browserify', function() {
return browserify('./index.js')
.require('./index.js', {
expose: 'my-module'
})
.transform('browserify-shim', {
global: true
})
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./'));
});

关于javascript - 防止 browserify 包含模块的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28727762/

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