Chcę zbudować i wdrożyć mój front Angular 2 na serwerze aplikacji Tomcat. Na początek podążałem dokładnie krokami następującego wprowadzenia: https://angular.io/docs/ts/latest/guide/webpack.html.Wdrażaj aplikację Angular 2 z pakietem Webpack do Tomcat - błędy 404
Więc mam następujące struktury projektu (wszystkie pliki są dokładnie tak, jak we wstępie mentionend powyżej):
angular2-WebPACK
--- config
------- helpers.js
------- karma.conf.js
------- karma-test-shim.js
------- webpack.common.js
----- --webpack.dev.js
------- webpack.prod.js
------- webpack.test.js
--- dist
--- node_modules
--- publicznego
------- css
-------- ------ styles.css
------- zdjęć
-------------- angular.png
--- src
---- --- aplikacja
-------------- app.component.css
-------------- app.component.html
- ------------ app.component.spec.ts
-------------- app.component.ts
-------------- app.module.ts
------ -index.html
------- main.ts
------- polyfills.ts
------- vendor.ts
--- typowania
- -karma.conf.js
--- package.json
--- tsconfig.json
--- typings.json
--- webpack.config.js
npm zaczynają odpowiednio webpack-dev-server --inline --progress --port 3000
na konsoli lub w Webstorm → działa zgodnie z oczekiwaniami
Kiedy biegnę npm build odpowiednio rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail
buduje aplikację bez błędów i wyjście wiązki plików dostać fizycznie umieszczone w folderze dist zgodnie z oczekiwaniami.
dist
--- aktywa
------- angular.png
--- app.css
---app.css.map
--- app.js
---app.js.map
--- index.html
--- polyfills.js
---polyfills.js.map
--- vendor.js
--- dostawcą. js.map
Następnie skopiowałem zawartość folderu dist do katalogu webapps Tomcat 9.0. Kiedy próbuję uzyskać dostęp do zainstalowanej aplikacji, otrzymuję błąd 404 dla plików .css i .js (which can be seen in the attached picture). Próbuje uzyskać pliki z błędnych adresów URL: → "/ obv /" brakuje.
Naprawdę utknąłem tutaj i mam wrażenie, że wypróbowałem już wszystko, co mogłem znaleźć w Internecie na ten temat.
Czy ktoś mógłby mi powiedzieć, co robię źle? Z góry dziękuję.
Dziękuję za tak szybką pomoc (byłem ślepy). Mam ten znacznik w pliku app.component.html. Webpack zmienia atrybut src na: . Z powodu wiodącego ukośnika nie można go znaleźć. Czy istnieje konfiguracja lub coś takiego, co dodatek Webpack dodaje do tego ukośnika lub w jaki sposób radzisz sobie z tym problemem? – Smoose28
Główny slash jest dodawany z powodu "output.publicPath ="/"" w pliku webpack.config.js (lub innym pliku konfiguracyjnym Webpack). Gdy zostanie to usunięte, domyślnie jest to ścieżka relatywna zamiast ścieżki absolut. – mszalbach
Bohater dnia! To działa!. Dziękuję bardzo. Już grałem z "output.public" i " " i mogłem przysiąc, że próbowałem tego wcześniej bez powodzenia. –
Smoose28