【发布时间】:2017-12-12 09:32:53
【问题描述】:
我正在尝试在使用 webpack 2.2.1 的 Angular 4.3.5 Web 应用程序中将 scss 文件与我的组件一起使用。顺便说一句,我目前不能使用 angular-cli。
这是我的加载器的 webpack.config 文件部分。
{
test: /\.scss$/,
loader: 'raw-loader!postcss-loader!sass-loader'
},
// all css required in src/app files will be merged in js files
{
test: /\.less$/,
loader: 'raw-loader!postcss-loader!less-loader'
}
如您所见,我还有一个用于 less 的加载器,当组件使用较少的文件时它可以正常工作。
这是我的测试组件。
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test-component',
templateUrl: './test-component.component.html',
styleUrls: ['./test-component.component.scss'],
})
export class TestComponentComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
当我运行 npm run build 时,出现以下错误。
Error: Expected 'styles' to be an array of strings.
我查看了无数其他帖子并搜索了高低,但无论我如何更改加载程序或更新 webpack 或使用 extracttextplugin,我都无法阻止此错误的发生。
任何帮助将不胜感激。
【问题讨论】:
-
在加载器数组中尝试类似 {test: /\.styl$/, 加载器: ['raw-loader', 'stylus-loader']}, {test: /\.less$/ , 加载器: ['raw-loader', 'less-loader']}, {test: /\.scss$|\.sass$/, 加载器: ['raw-loader', 'sass-loader']}
-
包括样式 {test: /\.styl$/, loaders: ['raw-loader', 'stylus-loader']}