我的Angular 4网站运行良好,但它运行在〜/ app /文件夹中。因此它出现在 http://example.com/app 中,但我只是希望它出现在 http://example.com
现在我有:
的package.json
ng build --base-href /app/
.angular-cli.json
"outDir": "./../app"
哪个效果很好,但是如果我将它们改为(看起来它会起作用):
的package.json
ng build --base-href /
.angular-cli.json
"outDir": "./../"
它不会在根中呈现 - 我缺少什么?!谢谢!
修改 这是我的tsconfig.json:
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"baseUrl": "src",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2016",
"dom"
]
}
}
我的src / tsconfig.app.json:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "es2015",
"baseUrl": "",
"types": []
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}
我现在意识到我可能希望它位于自己的文件夹中,但只是看起来它位于根目录,它也能正常工作!
答案 0 :(得分:1)
如果您使用的是角度cli,则会在 index.html 或服务器指向的任何.html文件中设置<base href="/">
。尝试删除它并在providers: []
下的 app.module 中设置基本href。{ provide: APP_BASE_HREF, useValue: '/' }
,
我不确定这是否适合您,因为每个环境都有所不同。无论如何,这适用于我们的团队。此外,如果你这样做,你不应该在构建时使用这个标志--base-href。