说我有这个:
project/
app1/Dockerfile
app2/Dockerfile
app3/Dockerfile
package.json每个应用程序都可能使用package.json中依赖项的子集。是否有好的方法为每个子应用程序创建一个精简版本的package.json文件?
我意识到我不清楚问题是什么-问题是每个Dockerfile (每个项目)不需要package.json中的所有依赖项,实际上它们可能只使用了20%或更少的依赖项。因此,为了缩小对接图像的大小,我们可能需要一种覆盖package.json的方法,如下所示:
project/
app1/
Dockerfile
dependencies.json
app2/
Dockerfile
dependencies.json
app3/
Dockerfile
dependencies.json
package.json其中,dependencies.json从package.json中声明依赖项的子集,例如:
{
dependencies: ['foo', 'bar', 'baz']
}或者更有趣的是:
{
antiDependencies: ['foo', 'bar', 'baz']
}不安装的依赖项或其他不安装的依赖项。
发布于 2022-11-26 06:00:45
(未经测试的解决方案)
我认为一个潜在的解决方案就是完全按照OP中的做法:
// package.js
const pkgJson = require('../../package.json')
module.exports = Object.assign({}, pkgJson, {
dependencies: {
...pkgJson.dependencies,
// eliminate these:
heavyDep: undefined,
anotherHeavyDep: undefined
}
});这不是一个很好的解决方案b/c它是动态的,但可能会使球滚动。
https://stackoverflow.com/questions/74454194
复制相似问题