所以我需要创建一个可以在不运行服务器的情况下工作的构建。
运行ng build
。有一个dist
文件夹。
当我运行index.html
时遇到错误,如
GET file:///D:/inline.bundle.js net::ERR_FILE_NOT_FOUND
他正在我的D://驱动器的根目录中搜索js
文件,而不是在项目文件夹中
好的,我从我的<base href="/">
中删除了index.html
并收到了此错误:
Unhandled Promise rejection: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document. ; Zone: <root> ; Task: Promise.then ; Value: ZoneAwareError {__zone_symbol__error: Error: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to…, __zone_symbol__stack: "Error: No base href set. Please provide a value fo…testing1/dist/vendor.bundle.js:28631:62) [<root>]", __zone_symbol__message: "No base href set. Please provide a value for the A…HREF token or add a base element to the document."} Error: No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.
at new PathLocationStrategy (file:///D:/angular/testing1/dist/vendor.bundle.js:66150:19) [angular]
at provideLocationStrategy (file:///D:/angular/testing1/dist/vendor.bundle.js:62944:9) [angular]
at AppModuleInjector.get (/AppModule/module.ngfactory.js:164:77) [angular]
at AppModuleInjector.get (/AppModule/module.ngfactory.js:169:84) [angular]
at AppModuleInjector.get (/AppModule/module.ngfactory.js:198:151) [angular]
at AppModuleInjector.createInternal (/AppModule/module.ngfactory.js:241:60) [angular]
at AppModuleInjector.NgModuleInjector.create (file:///D:/angular/testing1/dist/vendor.bundle.js:56323:76) [angular]
at NgModuleFactory.create (file:///D:/angular/testing1/dist/vendor.bundle.js:56291:18) [angular]
at file:///D:/angular/testing1/dist/vendor.bundle.js:38426:61 [angular]
at Object.onInvoke (file:///D:/angular/testing1/dist/vendor.bundle.js:28762:37) [angular]
at Zone.webpackJsonp.528.Zone.run (file:///D:/angular/testing1/dist/polyfills.bundle.js:2591:43) [<root> => angular]
at NgZone.run (file:///D:/angular/testing1/dist/vendor.bundle.js:28631:62) [<root>]
angular2router
如果没有<base>
index.html
无效,<base>
找不到#wrapper
的本地文件
我该如何解决?
答案 0 :(得分:0)
使用--base-href和适当的基础
来自ng help build:
- base-href(String)(默认值:/)
别名:-bh
答案 1 :(得分:0)
Bonjour,
<div>Ma question concerne ng build d'un projet angular 2 dont voici un exemple :
[我的项目的屏幕截图] [1]
Quand j'exécute la commande ng build, toutes les ressources de mon projet sont transférées dans le répertoire "dist", donc normale jusque là.
Cependant, dans ce dossier, je constate que certains de mes fichiers media et fonts qui se trouvent dans "assets", se retrouve en double à l’extérieur de ce dossier (Voir copie écran ci-dessous).
Par exemple, le fichier image back.jpg qui est rangé dans ponyracing/dist/assets/img/back.jpg, se retrouve en double à l’extérieur dans ponyracing/dist/back.jpg
De plus, voici la config de angular-cli.json :
"styles": [
"assets/css/main.css",
"styles.css",
...
]
Ma question est de savoir si ce problème de fichiers doubles est causé par mon fichier main.css externe que j’ai rangé dans ponyracing/dist/assets/css/main.css et que dans ce fichier, le path des images est relatif au dossier ponyracing/dist/assets/img ?
Exemple : body { background: url( ../img/back.jpg ) };
Merci pour votre aide.</div>
答案 2 :(得分:0)
添加“。”你的基础href,像这样:
<base href="./">
感谢Admir的评论,这对我有用。
答案 3 :(得分:0)
在index.html中使用以下脚本。
<script>
document.write('<base href="' + String(document.location).replace('index.html','') + '">')
</script>
让我知道它对你有用。