我在angular2中编写了一个网站,并在AWS服务器上部署 dist 文件夹(在使用webpack编译之后)。网站工作得很好。现在我想知道为什么?因为我没有在服务器上安装 node.js ,我没有部署 node_modules 文件夹,而不是网站工作正常。在我的VS代码中,我必须使用npm下载软件包,但在服务器上,不存在软件包。请解释一下。这可能听起来很奇怪,但我真的很困惑或遗漏了一些基础知识。
答案 0 :(得分:1)
实际上,当您通过运行类似于npm的命令创建分发文件夹时,运行build:prod将所有代码(包括所需的包和库)压缩为最终部署到服务器的缩小文件。这就是所有node_modules仍然是dist文件夹中代码的一部分。
答案 1 :(得分:1)
Angular不在服务器上运行,而是在客户端上运行。
服务器只是将文件发送到客户端,因此可以运行它们。
因此,您确实无需在服务器上安装任何内容。它只是用于传递文件。
编辑:我想值得一提的是,服务器上可能会发生一些tanspile / compile / pack步骤,以便客户端javascript创建分发包readable
。
答案 2 :(得分:0)
以下是运行npm run build:prod:
后创建的文件的完整细分