上周,我开始使用Angular-Cli创建的Angular 2构建投资组合网站。这个投资组合网站是一项学校作业。
最终要求之一是网站可以在没有网络服务器的情况下运行。
当我在网络服务器上打开网站时(在使用ng build
构建它之后)我完全没有问题加载它。但是当我在浏览器中本地打开它时,我会收到每个javascript文件上找不到的404文件。
这些javascript文件与下面显示的索引页面位于同一目录中。
这是我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>
但是在浏览器中打开索引文件时找不到文件。
是否可以在没有网络服务器的情况下使用Angular-Cli运行Angular 2项目构建?
谢谢,
Maarten Paauw
答案 0 :(得分:5)
由于<base href="/">
标记,文件无法加载。它重写所有file://
个请求,因此它们开始引用不存在的文件。
ng-cli提供--base-href
configuration option,可以设置为./
,以便链接继续有效:
ng build --base-href "./"