如何在组合两个js文件时消除嵌套需求

时间:2018-02-14 13:19:21

标签: javascript node.js gulp uglifyjs

我正在尝试组合javascript文件,我尝试了uglifyjs并且它可以工作,但我想消除相同npm库的重复需求。 使用案例: 我有file1.js和file2.js。两个文件都使用例如请求npm模块,当我将这两个文件合并为一个时,它会复制require(' request')。有没有选项可以消除这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

一种方法是将模块作为参数传递给另一个文件。 例如:

file1.js

ls -lAF | perl -e 'while (<>) {next if /^[dt]/; print +(split)[8] . " size: " . +(split)[4] . "\n"}'

file2.js

var request = require('request');
var file2 = require('./file2')(request);

module.exports = {...};

更新

module.exports = function(request) {

  // use "request" parameter, instead of requiring.   

  return {...};

};