Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用';的Webpack打包没有依赖项的模块;节点';目标?_Node.js_Webpack - Fatal编程技术网

Node.js 如何使用';的Webpack打包没有依赖项的模块;节点';目标?

Node.js 如何使用';的Webpack打包没有依赖项的模块;节点';目标?,node.js,webpack,Node.js,Webpack,我有一个同构模块,我想在一个文件中发布 使用webpack构建web非常简单。但是,对于target:'node'我不希望在输出中包含任何依赖项,因为它们位于包.json中,并且应该与标准require一起提供 是否有一种方法可以告诉webpack仅在源目录中连接到requires,而不触及其他requires(例如require('lodash')) 我发现的一个解决方法是使用externals并将一些required模块注入到输出文件中: // webpack.config const e

我有一个同构模块,我想在一个文件中发布

使用webpack构建web非常简单。但是,对于
target:'node'
我不希望在输出中包含任何依赖项,因为它们位于
包.json中,并且应该与标准
require
一起提供

是否有一种方法可以告诉webpack仅在源目录中连接到requires,而不触及其他requires(例如
require('lodash')

我发现的一个解决方法是使用
externals
并将一些
require
d模块注入到输出文件中:

// webpack.config

const externals =
  _(fs.readdirSync('node_modules'))
  .reject(s => /^\./.test(s))
  .keyBy().mapValues((v, k) => _.camelCase(v))
  .value()


module.exports = {
  ...
  externals,
  ...
}

// output file, assuming I'm injecting externals somehow:

Object.keys(externals).forEach(function (name) {
  try {
    global[externals[name]] = require(name)
  } catch (e) {
  }
})
  • 显然,externals可以获得函数和配置选项 更富有
  • 这正是我想要的 需要