需要Angular部署应用程序服务器吗?

时间:2018-04-18 17:16:23

标签: javascript angular deployment web-deployment

我有一个关于Angular项目的问题,我无法找到令人满意的答案。当我用Google搜索时,我只想出了如何部署应用程序,而不是回答我特定问题的答案。

通常在开发角度应用程序时,我们可以运行ng serve以获得开发服务器。当我们访问dev服务器时,我们会收到SPA所需的以下文件。

Angular Server SPA

开发服务器为我们唯一的静态HTML资产提供index.html文件以及我们的应用程序运行所需的编译角度代码包。

当我们部署Angular应用程序时,Angular应用程序是否仍然需要服务于应用程序的服务器?或者我们可以从后端提供这些文件包吗?

1 个答案:

答案 0 :(得分:2)

您需要使用$ ng build命令生成应用程序文件。构建工件将存储在dist /目录中。然后,您可以使用Surge之类的服务作为静态Web发布或其他Web服务器。
另一方面,如果您的应用程序使用Angular Router,我上面所说的内容将无法正常运行。您需要添加中间件。
例如,如果您使用Express,则需要添加以下内容:

// server.js
const path = require('path');
app.get('/*all', function(req, res) {
  res.sendFile(path.join(__dirname + '/dist/index.html'));
});

希望我能帮忙!