组合两个js文件时如何消除嵌套要求
How can I eliminate nested require when combining two js files
我正在尝试合并 javascript 文件,我尝试了 uglifyjs 并且它有效,但我想消除对同一 npm 库的重复要求。
用例:
我有 file1.js 和 file2.js。这两个文件都使用例如请求 npm 模块,当我将这两个文件合并为一个文件时,它复制了 require('request')。有什么办法可以解决这个问题吗?
谢谢。
一种方法是将模块作为参数传递给另一个文件。
例如:
file1.js
var request = require('request');
var file2 = require('./file2')(request);
module.exports = {...};
file2.js
module.exports = function(request) {
// use "request" parameter, instead of requiring.
return {...};
};
更新:
import * as file2 from './file2';
const file2Module = file2(request);
我正在尝试合并 javascript 文件,我尝试了 uglifyjs 并且它有效,但我想消除对同一 npm 库的重复要求。 用例: 我有 file1.js 和 file2.js。这两个文件都使用例如请求 npm 模块,当我将这两个文件合并为一个文件时,它复制了 require('request')。有什么办法可以解决这个问题吗?
谢谢。
一种方法是将模块作为参数传递给另一个文件。 例如:
file1.js
var request = require('request');
var file2 = require('./file2')(request);
module.exports = {...};
file2.js
module.exports = function(request) {
// use "request" parameter, instead of requiring.
return {...};
};
更新:
import * as file2 from './file2';
const file2Module = file2(request);