2017-04-11 6 views
4

私はカスタムテーマを使用しようとしているが、私はエラーを取得しておいてください。角度4 +素材2 SASS「見つからないか読めなくはないインポートするファイル」エラーをコンパイル

{ 
    "status": 1, 
    "file": "/home/adam/Projects/test-material/src/unicorn.scss", 
    "line": 1, 
    "column": 1, 
    "message": "File to import not found or unreadable: [email protected]/material/theming.\nParent style sheet: /home/adam/Projects/test-material/src/unicorn.scss", 
    "formatted": "Error: File to import not found or unreadable: [email protected]/material/theming.\n  Parent style sheet: /home/adam/Projects/test-material/src/unicorn.scss\n  on line 1 of src/unicorn.scss\n>> @import '[email protected]/material/theming';\n ^\n" 
} 

私は新しいブランデーをインストールしていますちょうどそれをテストする角度、私は同じエラーが発生し続けます。 私が試した:

$ ng new test-material 
$ cd test-material/ 
$ npm install --save @angular/material 

をその後、私はsrc/unicorn.scssという名前のファイルを作成し、https://material.angular.io/guide/themingから例のカスタムテーマを貼り付けして使用して、それをコンパイルしようとした: $ node-sass src/unicorn.scss dist/unicorn.css 私は前述のエラーを得ました。 unicorn.scssの内容は次のとおりです。私は角4と材料2.0.0-beta.3 を使用してい

@import '[email protected]/material/theming'; 
@include mat-core(); 
$candy-app-primary: mat-palette($mat-indigo); 
$candy-app-accent: mat-palette($mat-pink, A200, A100, A400); 
$candy-app-warn: mat-palette($mat-red); 
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn); 
@include angular-material-theme($candy-app-theme); 

これは私のpackage.jsonです:

{ 
    "name": "test-material", 
    "version": "0.0.0", 
    "license": "MIT", 
    "scripts": { 
    "ng": "ng", 
    "start": "ng serve", 
    "build": "ng build", 
    "test": "ng test", 
    "lint": "ng lint", 
    "e2e": "ng e2e" 
    }, 
    "private": true, 
    "dependencies": { 
    "@angular/common": "^4.0.0", 
    "@angular/compiler": "^4.0.0", 
    "@angular/core": "^4.0.0", 
    "@angular/forms": "^4.0.0", 
    "@angular/http": "^4.0.0", 
    "@angular/material": "^2.0.0-beta.3", 
    "@angular/platform-browser": "^4.0.0", 
    "@angular/platform-browser-dynamic": "^4.0.0", 
    "@angular/router": "^4.0.0", 
    "core-js": "^2.4.1", 
    "rxjs": "^5.1.0", 
    "zone.js": "^0.8.4" 
    }, 
    "devDependencies": { 
    "@angular/cli": "1.0.0", 
    "@angular/compiler-cli": "^4.0.0", 
    "@types/jasmine": "2.5.38", 
    "@types/node": "~6.0.60", 
    "codelyzer": "~2.0.0", 
    "jasmine-core": "~2.5.2", 
    "jasmine-spec-reporter": "~3.2.0", 
    "karma": "~1.4.1", 
    "karma-chrome-launcher": "~2.0.0", 
    "karma-cli": "~1.0.1", 
    "karma-jasmine": "~1.1.0", 
    "karma-jasmine-html-reporter": "^0.2.2", 
    "karma-coverage-istanbul-reporter": "^0.2.0", 
    "protractor": "~5.1.0", 
    "ts-node": "~2.0.0", 
    "tslint": "~4.5.0", 
    "typescript": "~2.2.0" 
    } 
} 

答えて

2

材料バージョン2.0.0-beta.3であり何のファイルが'[email protected]/material/theming';

あなたが表示されますnode_modules/@angular/materialディレクトリを確認していない場合は_theming.scssはそうあなたがする必要があります:

@import '[email protected]/material/_theming';

重要:

バグがsass-loader v6.0.4あなたは次のsass-loader v6.0.5.scss来ると、インポート@import '[email protected]/material/_theming.scss';.scss拡張子を追加する必要がもはや

2

が必要であり、あなたにこれを入れて矩形状.json:

2

私は先の問題を次のように解決します。

最初のステップ:
customTheme.scsssrcディレクトリに作成します。

@import '../node_modules/@angular/material/_theming'; 

@include mat-core(); 

$candy-app-primary: mat-palette($mat-cyan); 
$candy-app-accent: mat-palette($mat-green, A200, A100, A400); 
$candy-app-warn: mat-palette($mat-red); 
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn); 
@include angular-material-theme($candy-app-theme); 

重要:import文は、角度材料のバージョンに依存し、また、import文の場所はcustomTheme.scss場所に依存します。


第二ステップ:
.angular-cli.json

styles": [ 
     "styles.css", 
     "theme.scss" 
     ], 
のスタイル配列に customTheme.scssを追加
関連する問題