gpt4 book ai didi

javascript - 使用 Webpack 捆绑非本地 npm 模块

转载 作者:行者123 更新时间:2023-12-04 01:58:39 25 4
gpt4 key购买 nike

说明

我有一个 nodejs + TypeScript + express项目和当前来源*.ts文件与 webpack 捆绑在一起和 node_moduleswebpack-node-externals 忽略.

当我部署 bundle.js在 Docker 中,我仍然需要运行 npm i --production在目标镜像上安装依赖项,它会安装 package.json 中列出的所有模块

问题:

如果我只使用 lodash 中的一个函数没有原生部分,整个lodash模块(4.8MB)仍然安装(这是预期的)。

这导致巨大的 node_modules bundle.js 中不一定要使用包内的函数的文件夹.当使用 Docker 对应用程序进行容器化时,这个问题尤其普遍。

有什么方法可以将非原生模块与 Webpack 捆绑在一起,同时保留原生模块?

最佳答案

这与 https://stackoverflow.com/a/54393299/2234013 非常相似- 我相信你在找nodeExternals({ whitelist })babel-loader exclude :

  // excerpt from https://stackoverflow.com/a/54393299/2234013
externals: [
nodeExternals({
whitelist: [/lodash/]
})
],
...
module: {
rules: [
{
...
exclude: /node_modules\/(?!(lodash).*/,
use: {
loader: 'babel-loader',
...
}
}
]
}

关于javascript - 使用 Webpack 捆绑非本地 npm 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47330278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com