在Angular环境之外部署Angular应用

时间:2019-02-26 19:19:14

标签: node.js angular

我正在按照为您提供默认页面的教程来尝试在Angular 7中创建一个应用程序

ng new my-app

我已经使用ng serve --o对其进行了审核,并且可以使用,但是现在我不知道如何将其传递到Angular之外的环境。我完成了

ng --build --aot = true

这已经创建了一个文件夹/ dist / my-app,并且进入了3个JS文件:main.js,polyfills.js和runtime.js我打开了index.html,但未显示任何内容,我希望看到的东西与我相同在开发中。

我尝试用节点运行它们,例如执行node main.js,但是在它说的3个选项中没有奏效

未定义窗口

是否有人已经进行了这些部署,以了解其在生产中的状况?

我在做什么错......

2 个答案:

答案 0 :(得分:1)

您必须做的是安装 dist文件夹,这是您在任何http服务器上制作的 ng-build 的结果。

apache:将dist文件夹复制到您的Apache的www / html路径中

答案 1 :(得分:1)

使用Angular或类似框架(例如ReactVueJs构建的应用程序需要部署在服务器中。仅仅在浏览器中打开index.html文件是行不通的。

现在有几种方法可以做到这一点-

发展

您可以使用http-server

npm install http-server -g

http-server -p 8080 ./dist 

您可以访问http://localhost:8080来查看服务器

生产

根据多种因素(例如您的云提供商,Web服务器等),可以有几种用于生产部署的选项。以下两个是示例-

  1. Firebase Hosting

Firebase的部署步骤非常简单-只需执行firebase init次,然后firebase deploy即可部署新构建的Web应用。

  1. 您可以使用在docker
  2. 中运行的 Nginx

Dockerfile:

FROM nginx:alpine

COPY config/nginx.conf /etc/nginx/nginx.conf
COPY build/ /var/www