解决angular 4.0项目打包后404错误

1,606 阅读1分钟

最近公司在使用一个开源项目,但是其无法全屏的问题收到公司同事的一致吐槽和内心拒绝。因此,尝试进行源码分析之后进行了魔改,然而在本地通过ng server调试正常的代码,使用ng build打包的程序上传到服务器后,居然出现了404的错误。

搜索Google和百度之后总结如下三点解决方案:

1. 修改app.module.ts文件---来源于百度。(本项目修改后无效)

app.module.ts文件里添加如下代码;

import {HashLocationStrategy,LocationStrategy} from '@angular/common';

然后再providers数组中加入

{
      provide:LocationStrategy,
      useClass:HashLocationStrategy
 },

重新构建项目即可。

2. 修改构建之后的index.html文件

修改index.html中的<base href='/luna/'>,改成<base href='./'>

3. 打包项目时指定参数(推荐)

运行如下命令:

ng build --environment prod --aot --prod --base-href=/luna/  --deploy /luna/

参考文献:angular4.0 配置打包路径以及资源文件404问题
个人博客地址:aikiller.github.io/