由于尝试使Docker映像大小尽可能小时的反复试验,我能够使用ncc减小映像大小,因此备忘
<表格>
tr>
header>
<身体>
tr>
tbody>
table>
建立程序
ncc支持TypeScript。但是,由于无法指定tsconfig.json,因此如果具有多个配置文件(例如
然后执行以下步骤。
示例:构建一个名为
1.使用nest-cli在Webpack模式下构建:
2.使用ncc
进一步构建1的工件
将输出该应用程序所需的所有文件。您要做的就是将它包含在Docker映像中。
ncc太神奇了。您可以建立更多的webpack专家。
这消除了对node_modules的需要,现在仅在Docker映像中仅包含最少的文件。
(当然,node_modules与
...尝试要求使用" @ nestjs /微服务",但假设为external.
,则无法解决
(↑我忘记了确切的错误文本,并且没有记录下来,所以我在模糊上半部分...)
当我运行使用
ncc构建的文件时,出现错误,提示无法成功解析
在我的情况下,@ nestjs / microservices不在主要使用,并且
ncc工件包括typescript
在某些情况下,typescript可能会全部包含在内。 47.8MB,异常庞大。显然,删除typescript文件夹本身不会引起任何问题。
恩,它减少了300MB吗?这样行吗?忧虑
当我第一次看到↑的结果时,我很着急。它只是真的进行了优化...?一些重要文件没有消失..?
我使用此ncc进行了e2e测试,但是由于测试通过正确,所以没有问题(很高兴我编写了该测试)
另外,某些软件包可能引用该库的旧版本。我检查了一下是否包含具有不同版本的相同软件包,但似乎包含了它(包含4个uuid软件包...)。
此外,如果使用pkg将其制成单个文件,则将是完美的...!?
高山pkg组合无效。我在静态链接周围收到错误消息。
https://github.com/zeit/pkg-fetch/pull/72
首先,pkg是写在自述文件中的,它不用于无服务器使用,因此我放弃了使用它。
https://github.com/zeit/pkg/blob/master/README.md