生产服务器上的node.js.

时间:2017-04-05 21:23:43

标签: node.js angular webpack

我在angular2中编写了一个网站,并在AWS服务器上部署 dist 文件夹(在使用webpack编译之后)。网站工作得很好。现在我想知道为什么?因为我没有在服务器上安装 node.js ,我没有部署 node_modules 文件夹,而不是网站工作正常。在我的VS代码中,我必须使用npm下载软件包,但在服务器上,不存在软件包。请解释一下。这可能听起来很奇怪,但我真的很困惑或遗漏了一些基础知识。

3 个答案:

答案 0 :(得分:1)

实际上,当您通过运行类似于npm的命令创建分发文件夹时,运行build:prod将所有代码(包括所需的包和库)压缩为最终部署到服务器的缩小文件。这就是所有node_modules仍然是dist文件夹中代码的一部分。

答案 1 :(得分:1)

Angular不在服务器上运行,而是在客户端上运行。

服务器只是将文件发送到客户端,因此可以运行它们。

因此,您确实无需在服务器上安装任何内容。它只是用于传递文件。

编辑:我想值得一提的是,服务器上可能会发生一些tanspile / compile / pack步骤,以便客户端javascript创建分发包readable

答案 2 :(得分:0)

以下是运行npm run build:prod:

后创建的文件的完整细分
  1. dist / main。[hash] .bundle.js捆绑您的应用程序。
  2. dist / vendor。[hash] .bundle.js捆绑的依赖项(@angular,RxJS ...)
  3. dist / polyfill。[hash] .bundle.js捆绑的polyfill依赖项(@angular,RxJS ...)。
  4. 你的应用程序的dist / index.html入口点。
  5. dist / inline。[hash] .bundle.js webpack loader
  6. dist / style。[hash] .bundle.css样式定义
  7. dist / assetsresources从Angular CLI资产配置中复制。