2017-06-21 50 views
1

我有我的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

您是否在html中使用'base'標籤? –

+0

嘗試從您的html中刪除基礎href。將這個'{provide:APP_BASE_HREF,useValue:'/'}添加到你的app.module。 –

+0

你也可以提供你的tsconfig文件嗎? 'src/tsconfig.app.json'和'your_root/tsconfig.json' –

回答

1

如果您使用的是角度cli,它會在index.html或您的服務器指向的任何.html文件中設置<base href="/">。嘗試刪除和providers: []下設置基本href在app.module .. { provide: APP_BASE_HREF, useValue: '/' }

我不知道這會爲你工作或沒有,因爲每個環境是有點不同。無論如何,這對我們的團隊都有效。此外,如果你這樣做,你不應該在構建時使用這個標誌--base-href。

相關問題