如何在 browserify 中使用 `--node` 选项和 API
How do I use the `--node` option in browserify with the API
CLI 有高级选项 --node
捆绑以在节点内使用。
文档指出:
--node
Alias for --bare and --no-browser-field.
用于关闭浏览器字段的 API 选项很简单,但是 --bare
选项让我感到困惑。
--bare
Alias for both --no-builtins, --no-commondir, and sets --insert-global-vars
to just "__filename,__dirname". This is handy if you want to run bundles in
node.
特别是 --insert-global-vars
让我很困惑。
那么问题来了:
如何使用 browserify([files] [, opts])
api 获得与 --bare
相同的结果?
这是根据 Browserify source code:
基于 --bare
参数设置选项的代码
if (argv.bare) {
argv.builtins = false;
argv.commondir = false;
if (argv.igv === undefined) {
argv.igv = '__filename,__dirname';
}
}
if (argv.igv) {
var insertGlobalVars = {};
var wantedGlobalVars = argv.igv.split(',');
Object.keys(insertGlobals.vars).forEach(function (x) {
if (wantedGlobalVars.indexOf(x) === -1) {
insertGlobalVars[x] = undefined;
}
});
}
所以你应该将它传递给 browserify()
的 opts
参数:
const files = [...];
const opts = {
builtins: false,
commondir: false,
insertGlobalVars: ['__filename', '__dirname']
};
browserify(files, opts);
CLI 有高级选项 --node
捆绑以在节点内使用。
文档指出:
--node Alias for --bare and --no-browser-field.
用于关闭浏览器字段的 API 选项很简单,但是 --bare
选项让我感到困惑。
--bare Alias for both --no-builtins, --no-commondir, and sets --insert-global-vars to just "__filename,__dirname". This is handy if you want to run bundles in node.
特别是 --insert-global-vars
让我很困惑。
那么问题来了:
如何使用 browserify([files] [, opts])
api 获得与 --bare
相同的结果?
这是根据 Browserify source code:
基于--bare
参数设置选项的代码
if (argv.bare) {
argv.builtins = false;
argv.commondir = false;
if (argv.igv === undefined) {
argv.igv = '__filename,__dirname';
}
}
if (argv.igv) {
var insertGlobalVars = {};
var wantedGlobalVars = argv.igv.split(',');
Object.keys(insertGlobals.vars).forEach(function (x) {
if (wantedGlobalVars.indexOf(x) === -1) {
insertGlobalVars[x] = undefined;
}
});
}
所以你应该将它传递给 browserify()
的 opts
参数:
const files = [...];
const opts = {
builtins: false,
commondir: false,
insertGlobalVars: ['__filename', '__dirname']
};
browserify(files, opts);