angular-cli构建没有网络服务器

时间:2016-10-13 14:28:17

标签: angular angular-cli

上周,我开始使用Angular-Cli创建的Angular 2构建投资组合网站。这个投资组合网站是一项学校作业。

最终要求之一是网站可以在没有网络服务器的情况下运行。

当我在网络服务器上打开网站时(在使用ng build构建它之后)我完全没有问题加载它。但是当我在浏览器中本地打开它时,我会收到每个javascript文件上找不到的404文件。

这些javascript文件与下面显示的索引页面位于同一目录中。

Files are in the same directory

这是我ng build生成的index.hmtl。

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Hallo, ik ben Maarten.</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="assets/favicon.ico">

  <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet">
</head>
<body>
<app-root>Loading...</app-root>
<script type="text/javascript" src="inline.js"></script>
<script type="text/javascript" src="styles.bundle.js"></script>
<script type="text/javascript" src="scripts.bundle.js"></script>
<script type="text/javascript" src="main.bundle.js"></script>
</body>
</html>

但是在浏览器中打开索引文件时找不到文件。

404 - files not found

是否可以在没有网络服务器的情况下使用Angular-Cli运行Angular 2项目构建?

谢谢,

Maarten Paauw

1 个答案:

答案 0 :(得分:5)

由于<base href="/">标记,文件无法加载。它重写所有file://个请求,因此它们开始引用不存在的文件。

ng-cli提供--base-href configuration option,可以设置为./,以便链接继续有效:

ng build --base-href "./"