2017-05-21 37 views
2

現在我正在嘗試使用--base-href選項構建angular2項目,但它不能正常工作。Angular2爲什麼--base-href構建選項不起作用

納克構建--bh = /室內/前端/

這是.angular-cli.json

{ 
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 
    "project": { 
    "name": "frontend" 
    }, 
    "apps": [ 
    { 
     "root": "src", 
     "outDir": "D:/Work/Learn/Laravel/Chamber/Chamber/public/frontend/", 
     "assets": [ 
     "assets", 
     "assets/favicon.ico" 
     ], 
     "index": "index.html", 
     "main": "main.ts", 
     "polyfills": "polyfills.ts", 
     "test": "test.ts", 
     "tsconfig": "tsconfig.app.json", 
     "testTsconfig": "tsconfig.spec.json", 
     "prefix": "app", 
     "styles": [ 
      "../node_modules/bootstrap/dist/css/bootstrap.min.css", 
      "../node_modules/font-awesome/scss/font-awesome.scss", 
      "styles.scss" 
     ], 
     "scripts": [ 
      "../node_modules/jquery/dist/jquery.min.js", 
      "../node_modules/bootstrap/dist/js/bootstrap.min.js" 
     ], 
     "environmentSource": "environments/environment.ts", 
     "environments": { 
     "dev": "environments/environment.dev.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    } 
    ], 
    "e2e": { 
    "protractor": { 
     "config": "./protractor.conf.js" 
    } 
    }, 
    "lint": [ 
    { 
     "project": "src/tsconfig.app.json" 
    }, 
    { 
     "project": "src/tsconfig.spec.json" 
    }, 
    { 
     "project": "e2e/tsconfig.e2e.json" 
    } 
    ], 
    "test": { 
    "karma": { 
     "config": "./karma.conf.js" 
    } 
    }, 
    "defaults": { 
    "styleExt": "scss", 
    "component": {} 
    } 
} 

的內容建設後,OUTDIR的index.html的含有不有效的basehref如下。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Chamber</title> 
    <base href= "/"> 

    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 
</head> 

<body class="homepage"> 
    <app-root>Loading...</app-root> 

<script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="polyfills.bundle.js"></script><script type="text/javascript" src="scripts.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body> 
</html> 

這是我的angular2版本。

D:\Work\Learn\Laravel\Chamber\Frontend>ng -v 
Your global Angular CLI version (1.0.3) is greater than your local 
version (1.0.1). The local Angular CLI version is used. 

To disable this warning use "ng set --global warnings.versionMismatch=false". 
    _      _     ____ _  ___ 
/\ _ __ __ _ _ _| | __ _ _ __ /___| | |_ _| 
/△ \ | '_ \/_` | | | | |/ _` | '__| | | | | | | 
/___ \| | | | (_| | |_| | | (_| | |  | |___| |___ | | 
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_|  \____|_____|___| 
       |___/ 
@angular/cli: 1.0.1 
node: 6.10.0 
os: win32 x64 
@angular/common: 4.1.0 
@angular/compiler: 4.1.0 
@angular/core: 4.1.0 
@angular/forms: 4.1.0 
@angular/http: 4.0.3 
@angular/platform-browser: 4.1.0 
@angular/platform-browser-dynamic: 4.1.0 
@angular/router: 4.1.0 
@angular/cli: 1.0.1 
@angular/compiler-cli: 4.1.0 

D:\Work\Learn\Laravel\Chamber\Frontend> 

我不知道什麼是錯的。 有沒有人可以解決這個問題?

+0

Angular和CLI的哪個版本?運行'ng -v'並提供輸出。 – jonrsharpe

+0

感謝您的關心。我將附加-v結果作爲我的答案(因爲註釋長度很短) – Alex

+0

您是否嘗試過使用角度cli創建新的虛擬項目並使用'ng build --bh xxx'構建它?如果它不起作用,這意味着問題不是項目特定的。 – ulubeyn

回答

4

在您的html中有錯字,這就是原因。將<base href= "/">更改爲<base href="/">

+0

感謝您的努力。這是正確的答案! – Alex

+1

OMG ...我覺得如果沒有這個答案,我會浪費時間在類似的問題上。 –

+1

我有同樣的問題,我正在使用蜱''它不會工作,直到我切換到「」,'',謝謝@ulubeyn – Flea

相關問題