2016-10-13 1 views
1

На прошлой неделе я начал создавать портфолио с использованием Angular 2, созданного с помощью Angular-Cli. Этот портфолио веб-сайта является школьным заданием.angular-cli build без веб-сервера

Одним из конечных требований является то, что веб-сайт может работать без веб-сервера.

Когда я открываю веб-сайт на веб-сервере (после его создания с помощью ng build), у меня нет проблем с его загрузкой. Но когда я открываю его локально в браузере, я получаю файл 404, не найденный в каждом файле javascript.

Эти файлы javascript находятся в каталоге, указанном ниже.

Files are in the same directory

Это мой index.hmtl генерируется ng build.

<!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

Можно ли запустить Угловой 2 проект построить с угловым-Cli без веб-сервера?

Спасибо,

Маартен Paauw

+0

Что аргументация за это время может работать без сервера? – Katana24

+0

Причина в том, что сайт будет заархивирован, так что в будущем кто-то сможет его найти и использовать без какой-либо дополнительной программы, такой как веб-сервер. Странное правило в ИКТ-образовательном учреждении. Но я ничего не могу с этим поделать. – maartenpaauw

+1

Ваш браузер останавливает файлы при загрузке по локальной сети из соображений безопасности. Если вы используете хром вы могли бы сделать что-то вроде этого: «C: \ PathTo \ chrome.exe» --allow-файл-доступа из-файлов Но я не знаю, как это жизнеспособный в вашем учреждении http://stackoverflow.com/a/18587027/1754020 –

ответ

3

файлы не удается загрузить из-за <base href="/"> тега. Он переписывает все запросы file://, поэтому они начинают ссылаться на файлы, которые не существуют.

нг-кли обеспечивает --base-href configuration option, который может быть установлен в ./, так что ссылки продолжают работать:

ng build --base-href "./" 
Смежные вопросы