2016-08-12 1 views
0

角度2.0.0-rc.4を見つけることができませんルータはパラメータを持っている場合、そのコンポーネントはindex.htmlをのスタイル

ルータは、パラメータlocalhost:4200/component/parameterを持っているとき、私はこのFailed to load resource: the server responded with a status of 404 (Not Found) http://localhost:4200/(component name here)/style.css

のようなエラーメッセージが表示されますこの場合、なぜコンポーネント名が自動的に追加されるのか分かりません。 style.cssには

import { provideRouter, RouterConfig } from '@angular/router'; 
import { HomepageComponent } from './homepage/homepage.component'; 
import { LoginpageComponent } from './loginpage/loginpage.component'; 
import { RegisterpageComponent } from './registerpage/registerpage.component'; 
import { PostpageComponent } from './postpage/postpage.component'; 
import { TestComponent } from './test/test.component'; 

const routes: RouterConfig = [ 
    { 
    path: '', 
    redirectTo: 'homepage', 
    pathMatch: 'full' 
    }, 
    { path: 'homepage', component: HomepageComponent }, 
    { path: 'login', component: LoginpageComponent }, 
    { path: 'register', component: RegisterpageComponent }, 
    { path: 'test/:text', component: TestComponent }, 
    { path: 'post/:id', component: PostpageComponent } 
]; 

export const routerProviders = [ 
    provideRouter(routes) 
]; 

index.htmlの中のindex.html

輸入はstyle.css

<link rel="stylesheet" type="text/css" href="style.css"> 

とグローバルディレクトリに私のルートであるので、style.cssにはこちら - >http://localhost:4200/style.css

http://localhost:4200/test/sometextにアクセスすると、style.cssが見つからないというエラーが表示されます

パラメータがない場合、すべて正常に動作することを確認しました。

答えて

-1

これはAngularとは関係ありません。あなたの問題は、相対パスと絶対パスの表記法に由来します。リンクタグで指定するパスは "style.css"です。これは相対パスであるため、ブラウザは現在のURLパスを使用してファイルを探します。それだけで絶対にあなたのhref属性を入れて動作させるために:相対パスを使用するように

<link rel="stylesheet" type="text/css" href="/style.css"> 

またはあなたのCSSファイルは、一般的な方法であなたのウェブサーバーのルート

<link rel="stylesheet" type="text/css" href="/path/to/your/style.css"> 

にない場合は、避けるを除外特定の状況から。相対パスと絶対パスの詳細はこちらAbsolute and Relative URLs

関連する問題