私はAngularを使用して静的サイトを構築しようとしています。私が欲しいのは、いくつかのグローバルなcss/js/imageファイルをindex.html
に追加することです
これはindex.html
の私のコードです
<link rel="stylesheet" type="text/css" href="css/layers.css">
index.html
ファイルと同じレベルにあるcss
フォルダー
追加したスタイルシートごとにこのエラーが発生しています(ng serve with chromeから)
「 http:// localhost:4200/css/layers.css 」からスタイルを適用することを拒否有効になっています。
これも追加してみました
#.angular-cli.json
"styles": [
"styles.css",
"css/layers.css"
],
どうすれば修正できますか?
私のangular設定は
Angular CLI: 1.6.5
Node: 8.1.4
OS: darwin x64
Angular: 5.2.2
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cli: 1.6.5
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.5
@schematics/angular: 0.1.17
TypeScript: 2.5.3
webpack: 3.10.0
あなたがする必要があるのは:
1)angularアプリのルートディレクトリの下の.angular-cli.jsonに移動します。
2)styles.cssの前にbootstrapを含むようにスタイル配列を変更します
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
注:bootstrapへのパスは/src/index.htmlからの相対パスであるため、node_modulesの前に「../」が必要です。
3)ng serveの現在のセッションを終了し、再度開始します。
これは 素晴らしいチュートリアル です
必要なのは次のとおりです。
1)angularアプリのルートディレクトリの下にあるstyles.cssに移動します。
2)この行を上部に追加します:
@import url('https://unpkg.com/[email protected]/dist/css/bootstrap.min.css');
@ sameera207コメントの回答は正しいです。相対パスが機能する必要があります。私も同じ問題を抱えており、コメントの回答が機能しています。エラーを再現しようとしました。index.htmlのレベルでcssフォルダーを作成し、cssファイルを追加してから、styles配列にパスを追加しました。
"styles": [
"styles.css",
"./css/my-styles.css",
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"../node_modules/tether/dist/css/tether.min.css"
],
その後、サーバーの再起動、つまりng serve
を再度実行し、その動作を意味します。完了していることを確認してくださいrestared serverそして問題が解決しない場合はお知らせください、私はあなたを助けてうれしいです。ありがとう。
同じ問題に直面する人のために。
このエラーメッセージの通常の理由は、ブラウザがそのリソースをロードしようとすると、サーバーが代わりにHTMLページを返すためです。たとえば、ルーターが不明なパスをキャッチし、404 error.
なしのデフォルトページを表示する場合パスは期待されるCSS file / image / icon /
を何も返しません... ここからの参照
このようなファイル構造を持つAngular 6
プロジェクトがあると仮定しましょう
project
|-src
|-app
|-assets
|-environments
|----
theming
フォルダー(それらを含む)をsrcフォルダー内に直接配置する必要があると仮定します。
project
|-src
|-app
|-assets
|-environments
|-vendor // Theming
|-theme-light.css
|theme-dark.css
このようなテーマファイルにアクセスしようとした場合。
<link rel="stylesheet" type="text/css" href: '../vendor/theme-dark.css'>
それはエラーをスローします
' http:// localhost:4200/vendor/theme-dark.css 'からスタイルを適用することを拒否。MIMEタイプ( 'text/html')はサポートされているスタイルシートMIMEタイプではなく、厳密MIMEチェックが有効になっています。
ブラウザでそのURLを過ぎた場合、パスが間違っているためプレーンなcssファイルを提供しません。
ソリューション
そのため、正しいパスを見つける必要があります。 (過去にurl
をブラウズで見つけて、何が返されるかを確認できます)
この場合、../src/
参照を置くとエラーが修正されます
<link rel="stylesheet" type="text/css" href: '../src/vendor/theme-dark.css'>
注:正確なパスとルーターの構成は、プロジェクトのセットアップ方法と使用しているフレームワークによって異なります。
すでにanglecli.jsonまたはangular.jsonにstyles.cssがある場合、index.htmlでは必要ありません。 cliはコンテンツを自動的に注入します。そのため、index.htmlからその行を削除すると、すべてが機能するはずです。