描述
我有一个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捆绑在一起,而只留下本机模块?
答案 0 :(得分:1)
这与https://stackoverflow.com/a/54393299/2234013非常相似-我相信您正在寻找IConfiguration
和nodeExternals({ whitelist })
babel-loader
:
exclude