我在Angular 2 CLI中使用了最新的RC5。CSS可以正常工作,但是切换到SCSS却不能,并且会导致以下控制台错误:
zone.js:101GET http:// localhost:4200 / app / app.component.scss404(未找到)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 :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未处理的承诺拒绝:无法加载http:// localhost:4200 / app / app.component.scss; 区域:;任务:Promise.then; 值:无法加载http:// localhost:4200 / app / app.component.scss
我的angular-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 () {}
}
而且,是的,app.component.scss存在于同一目录中。该错误似乎是由于文件未复制到/ dist所致,但据我了解,角度2将样式转换为通过JS注入的域包装实体。
从angular-cli.js中删除styleExt并将url保留为'.css'之后,我才意识到实际上是在使用'.scss'文件。因此,样式开始出现。
我不得不删除了没想到的styleExt。
我相信手动安装node-sass解决了我在发布此问题之前遇到的一个初步问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句