2017-02-04 4 views
0

Когда я использую ng и запускаю мой webapp с помощью webpack, angular-cli обеспечивает только интерфейс для сторонних разработчиков, все делает отлично, но когда я использую ng build или ng build --prod и запускал его с помощью экспресс-сервера и обратно, он не загружал изображения, css или javascript, а только сырые html из углового приложения. Я искал вокруг и нашел angular-cli.json и добавил папку img, папку fonts, папку css в активы и все js-файлы в массив скриптов и css-файлы в массив стилей, но теперь он даже не будет построен, потому что все пути нарушены ,Угловые CLI и NG Построение путей прерывания до css, фотографий, шрифтов, изображений и всего

Это дает мне две страницы красного текста на моей консоли, говорящие, что изображения, шрифты и другие файлы не могут быть разрешены. Понятно, что он изменился вокруг относительного пути и сломал все ужасно, как я могу исправить это на сборке без необходимости перекодировать изменения пути?

+0

могли бы вы захватить ваш консоль и ne twork tab –

+0

просто используйте ./ путь к вашим изображениям, например, если ваш фон ../../../bg.png, чем использовать ./bg.png –

+0

hm моя консоль - 17603 символа красного текста, вид сверху предел комментариев: P Ill получить в некоторых: ОШИБКА в ./~/css-loader!./~/postcss-loader!//rs/css/grayscale.min.css Модуль не найден: Ошибка: не удается разрешить '../img/downloads-bg.jpg' в 'C: \ Users \ Sean \ OneDrive \ webpages \ 000 \ lasttry \ src \ css' @ ./~/css-loader!./~/postcss- loader! ./ src/css/grayscale.min.css 6: 3750-3784 @ ./src/css/grayscale.min.css @ multi styles ОШИБКА ./~/css-loader!./~ /postcss-loader!./src/bootstrap.min.css Модуль не найден: Ошибка: невозможно разрешить '../fonts/glyphicons-halflings-regular.eot' i – seanEd

ответ

2

Похоже, вы пытаетесь загрузить сайт из подкаталога. Вы должны иметь возможность разрешить ошибки, установив базовый тег href = "" в заголовке index.html.

https://angular.io/docs/ts/latest/guide/deployment.html#!#dev-deploy

<html> 
<head> 
    <base href="file:///C:/Users/Sean/OneDrive/webpages/000/lasttry/"> 
</head> 
<body> 
    <app-root>Loading...</app-root> 
</body> 
</html> 

... предполагая, что index.html находится в C:/Users/Sean/OneDrive/веб-страниц/000/lasttry/

Пожалуйста, обратите внимание, что это исправит только неработающие ссылки, когда путь к index.html осуществляется доступ по URL-адресу:

файла: /// C: /Users/Sean/OneDrive/webpages/000/lasttry/index.html