我目前正在深入研究Angular 2,并且我对如何通过角度CLI index.html
命令将样式和脚本注入build
存在问题(我的意思是) angular-cli.json
中定义的脚本和样式。
问题在于我在嵌套位置运行应用程序,例如:
http://domain.com/my_app
虽然可以设置<base href="/my_app">
,但注入的脚本和样式始终指向src
到根域。即/
而不是/my_app
。当然,这会在尝试查看页面时产生404。
我直接为/dist
投放。
Nginx conf :
server {
server_name domain.com;
listen 80;
location /my_app {
alias /srv/www/my_app;
index index.html;
try_files $uri$args $uri$args/ $uri $uri/ /index.html =404;
gzip on;
gzip_types text/css text/javascript application/x-javascript application/json;
}
/srv/www/my_app
包含运行后/dist
包含的内容:
ng build --environment=prod --base-href /my_app
我可以手动为输出index.html
中的样式和脚本声明添加前缀,但这在我看来是一项不必要的繁忙工作。
有没有办法在ng build
生成的index.html
中为注入的样式和脚本声明指定基本href?如果我可以根据目标环境指定基本href,那就更好了,例如:
/my_app
生产/
进行开发答案 0 :(得分:4)
在执行--deploy-url
命令时,您是否尝试使用ng build
参数?此选项表示 URL where files will be deployed
因此,在您的情况下,您可以尝试运行以下命令:
ng build --environment=prod --base-href my_app --deploy-url my_app