angular - 使用 Angular cli 构建应用程序
问题描述
我正在使用 angular cli 构建我的 angular 8 应用程序
ng build
我将文件从 dist/myapp 文件夹复制到我的网络服务器上的 myapp 目录。当我使用浏览器访问应用程序时,会出现一些类似这样的错误
polyfills-es2015.js:1 加载资源失败:服务器响应状态为 404(未找到)
实际上浏览器正在寻找“myserver.local/polyfills-es2015.js”
当我尝试像这样告诉有关基本 href 的 Angular 时
ng build --base href myapp/
我的浏览器仍然得到 404-ed 但这次是因为
未找到 myserver.local/myapp/myapp/polyfills-es2015.js
将使用 angular cli 的应用程序构建部署到网络服务器上的某个自定义目录的正确方法是什么?
解决方案
您还必须更改 dist/index.html 中的基本 href。
据我所知,这些是我在服务器上部署 angular dist 时遵循的步骤:
- 使用 ng build --prod 为 Angular 项目创建 dist(可分发)。在 /var/www/html 中复制 dist。
- 在 dist 中更改 index.html 并将 base href 从“/”更改为“./”。这是主要问题,因此请确保您这样做。
- 尝试通过浏览器访问时,您还需要允许访问此文件夹。查找配置更改,我没有记录它们。
推荐阅读
- wpf - WPF- Add Item in ItemsControl Will Not Change Border Cornerradius
- django - 在 TestCase 中改变函数的行为
- javascript - 如何以角度访问回调函数内的组件类变量?
- r - R 使用循环、ifelse 条件和子集(dplyr)将变量从另一个观察值变异为变量值
- python - Python:为什么我的 Popen 返回的进程有一个“无”标准输入?
- oracle - 在 PL/SQL 中显示函数
- css - TailwindCSS 在 Angular(延迟加载)子组件中不起作用
- c# - 如何在 C# 代码中获取 google chrome 书签
- javascript - React 钩子页面抛出未定义(匿名)异常的“过滤器”并且无法执行搜索
- java - 如果一个对象不再发生变异,它可以安全地跨线程共享吗?(斯卡拉/Java)