如何将webpack-node-externals的所有子依赖列入白名单

我正在使用webpack捆绑使用target属性的服务器资产。

这会产生一个可用的客户端软件包和一个可用的服务器,这个服务器运行良好。 不过,即使对于服务器代码,webpack也是将所有内容捆绑在node_modules 。 我正在尝试使用webpack-node-externals来解决这个问题,如下所示:

 module.exports = [ { name: "server code, output to ./server", entry: "./servertest.js", output: { filename: "./server/index.js" }, target: "node", externals: [ nodeExternals({ includeClientPackages: false }) ] }, { name: "client side, output to ./public", entry: "./app.js", output: { filename: "./dist/app.js" } } ] 

这不起作用,因为它的默认行为是排除所有的node_modules捆绑,从而使服务器无用。 有一个白名单选项,为此我包含了express ,这是我的小testing用例的唯一依赖项。 它不会在expression式上失败,然而它不依赖于expression式, merge-descriptors 。 当然,如果我将合并描述符添加到白名单中,尝试启动服务器将会失败另一个express的依赖项。 我当然不能添加每个依赖和子依赖(等等)到这个白名单数组。

如何确保给定require所有依赖关系在target: 'node'期间由webpack捆绑在一起target: 'node'构build?