将非本机npm模块与Webpack捆绑在一起

时间:2017-11-16 12:57:57

标签: javascript node.js express webpack

描述

我有一个nodejs + TypeScript + express项目,目前源*.ts文件与webpack捆绑在一起,而node_modules会被webpack-node-externals忽略。

当我在Docker中部署bundle.js时,我还需要在目标映像上运行npm i --production来安装依赖项,这将依赖于package.json

中列出的所有模块

问题:

如果我只使用lodash中没有本机部分的一个功能,那么仍会安装整个lodash模块(4.8MB)(这是预期的)

这导致了一个巨大的node_modules文件夹,其中包内的函数不一定总是在bundle.js中使用。当使用Docker容纳应用程序时,这个问题尤其普遍。

有没有办法将非本机模块与Webpack捆绑在一起,而只留下本机模块?

1 个答案:

答案 0 :(得分:1)

这与https://stackoverflow.com/a/54393299/2234013非常相似-我相信您正在寻找IConfigurationnodeExternals({ whitelist }) babel-loader

exclude