2016-08-28 20 views
1

我正在使用最新的RC5和Angular 2 CLI。 CSS工作正常,但切換到SCSS不和導致以下控制檯錯誤:通過CLI的Angular 2未分發SCSS文件

zone.js:101GET http://localhost:4200/app/app.component.scss 404(未找到)scheduleTask @ zone.js:101ZoneDelegate.scheduleTask @ zone.js:336Zone.scheduleMacroTask @ zone.js:273(匿名函數)@ zone.js:122send @ VM68431:3XHRImpl.get @ xhr_impl.ts:48DirectiveNormalizer._fetch @ directive_normalizer.ts:45(匿名函數)@ directive_normalizer.ts:164DirectiveNormalizer._loadMissingExternalStylesheets @ directive_normalizer。 ts:164DirectiveNormalizer.normalizeExternalStylesheets @ directive_normalizer.ts:143(匿名函數)@ directive_normalizer.ts:76ZoneDelegate.invoke @ zone.js:323Zone.run @ zone.js:216(匿名函數)@ zone.js:571ZoneDelegate.invokeTask @ zone.js:356Zone.runTask @ zone.js:256drainMicroTaskQueue @ zone.js:474ZoneTask.invoke @ zone.js:426 zone.js:461未處理的Promise拒絕:未能加載http://localhost:4200/app/app.component.scss;區域:;任務:Promise.then;價值:無法加載http://localhost:4200/app/app.component.scss

我的角cli.js具有設置爲默認值:

"defaults": { 
    "prefix": "app", 
    "sourceDir": "src", 
    "styleExt": "scss", 
    "prefixInterfaces": false, 
    "lazyRoutePrefix": "+" 
} 

而且我app.component.js:

import { Component } from '@angular/core'; 
@Component({ 
    moduleId: module.id, 
    selector: 'app-root', 
    templateUrl: 'app.component.html', 
    styleUrls: ['app.component.scss'] 
}) 
export class AppComponent { 
    constructor() {} 
} 

而且,是的,應用程序。 component.scss存在於同一個目錄中。該錯誤似乎是由於該文件未被複制到/ dist,但據我所知,角2將樣式轉換爲通過JS注入的域包裝實體。

+0

你安裝了什麼版本的CLI?請在項目和全球範圍內。 – Brocco

+0

both:1.0.0-beta.10 –

回答

1

從angular-cli.js中刪除styleExt並將url保留爲'.css'後,我才意識到它實際上是使用'.scss'文件;因此,風格開始出現。

我不得不刪除styleExt,我沒有想到。

我相信手動安裝node-sass解決了我在發佈此問題之前的一個初步問題。

+0

爲了使用SCSS w /該版本的CLI,您必須安裝node-sass – Brocco