如何在 ng-build 之后部署 ng2 应用程序
How to deploy ng2 app after ng-build
我一直不明白 ng build
命令后的内容。我的意思是,您实际上如何在普通服务器上加载构建的应用程序并访问它?到目前为止,我只找到了谈论 ng serve
和 ng build
的话题,说 ng build
之后你就完了。但事实并非如此。
如果我尝试构建然后导航到该文件夹,我会在控制台中收到很多有关找不到文件等的错误...更不用说有关不匹配路由等的错误了。
事实是,使用 ng serve
构建之前的应用程序就像一个魅力,但我不能去客户那里说:
"Well, you have to use ng serve".
开个玩笑,我如何在不使用 GitHub 页面和其他主机,而是使用我自己的服务器的情况下实际提供我构建的应用程序?
我发誓我在这个主题上搜索了很多,但我从未找到 "stable" 解决方案。
感谢您提供任何可能的提示。我被这件事吓坏了。
如果你使用 Angular CLI: ng build
导航到您的应用文件夹 /dist
如果您想 运行 在您的 PC 上轻松地 运行 它,只需下载 USB Webserver 并将文件复制到根文件夹和 运行 服务器,您可以将它移植到您的客户端通过 USB 或在客户端 PC 上。
到服务器上的 运行 应用程序:复制 dist 文件夹中的所有内容 + 所有资源(bootstrap.css 或图像文件夹或字体文件夹)
===========================================
如果您尝试从本地 PC 运行 应用程序,请记住该应用程序正在根文件夹(C:/、D:/)中查找您的资产。
打开您的 Index.html 文件并编辑指向正确的路径,您不需要在服务器或主机上执行此操作。
由于 html 中的新 <base href="/">
属性,应用正在各自的根文件夹中查找您的资产。
所以尝试删除 运行 以便它可以工作并在 运行 时间内加载 base href
。
您可以使用以下代码使其正常工作
import {APP_BASE_HREF} from '@angular/common';
{provide: APP_BASE_HREF, useValue : '/' }
或使用 javascript
document.write('<base href="' + document.location + '" />');
我一直不明白 ng build
命令后的内容。我的意思是,您实际上如何在普通服务器上加载构建的应用程序并访问它?到目前为止,我只找到了谈论 ng serve
和 ng build
的话题,说 ng build
之后你就完了。但事实并非如此。
如果我尝试构建然后导航到该文件夹,我会在控制台中收到很多有关找不到文件等的错误...更不用说有关不匹配路由等的错误了。
事实是,使用 ng serve
构建之前的应用程序就像一个魅力,但我不能去客户那里说:
"Well, you have to use ng serve".
开个玩笑,我如何在不使用 GitHub 页面和其他主机,而是使用我自己的服务器的情况下实际提供我构建的应用程序?
我发誓我在这个主题上搜索了很多,但我从未找到 "stable" 解决方案。
感谢您提供任何可能的提示。我被这件事吓坏了。
如果你使用 Angular CLI: ng build 导航到您的应用文件夹 /dist
如果您想 运行 在您的 PC 上轻松地 运行 它,只需下载 USB Webserver 并将文件复制到根文件夹和 运行 服务器,您可以将它移植到您的客户端通过 USB 或在客户端 PC 上。
到服务器上的 运行 应用程序:复制 dist 文件夹中的所有内容 + 所有资源(bootstrap.css 或图像文件夹或字体文件夹)
===========================================
如果您尝试从本地 PC 运行 应用程序,请记住该应用程序正在根文件夹(C:/、D:/)中查找您的资产。
打开您的 Index.html 文件并编辑指向正确的路径,您不需要在服务器或主机上执行此操作。
由于 html 中的新 <base href="/">
属性,应用正在各自的根文件夹中查找您的资产。
所以尝试删除 运行 以便它可以工作并在 运行 时间内加载 base href
。
您可以使用以下代码使其正常工作
import {APP_BASE_HREF} from '@angular/common';
{provide: APP_BASE_HREF, useValue : '/' }
或使用 javascript
document.write('<base href="' + document.location + '" />');