Node.js 如何使用';的Webpack打包没有依赖项的模块;节点';目标?
我有一个同构模块,我想在一个文件中发布 使用webpack构建web非常简单。但是,对于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
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可以获得函数和配置选项
更富有
- 这正是我想要的
需要