2017-04-12 69 views
3

我想包括.scss文件,它总是抛出这个错误:的WebPack 2:预期“风格”是一个字符串数组

Expected 'styles' to be an array of string

以前当我使用的WebPack 1把一切工作正常我试过3种不同的方法,但没有一次成功都在那里在这里:

1. styles: [require('../../../static/v4/angular/scss/main.scss')] 
2. styles: [String(require('../../../static/v4/angular/scss/main.scss'))] 
1. styles: [require('../../../static/v4/angular/scss/main.scss').toString()] 

这里是我的装载机:

 { 
     test: /\.css$/, 
     exclude: helpers.root('src', 'app'), 
     loader: ExtractTextPlugin.extract({fallback: 'style-loader', loader: 'css-loader'}) 
     }, 
     { 
     test: /\.css$/, 
     include: helpers.root('src', 'app'), 
     use: [{loader: 'raw-loader'}] 
     }, { 
     test: /\.scss$/, 
     exclude: /node_modules/, 
     use: [{ 
       loader: "to-string-loader" // creates style nodes from JS strings 
      }, { 
       loader: "css-loader" // translates CSS into CommonJS 
      }, { 
       loader: "sass-loader" // compiles Sass to CSS 
      }] 
     }, { 
+0

您曾经试图映射回生成的源? 'styles:[require('../../../ static/v4/angular/scss/main.scss')]'应该是正确的,但如果出现一些配置错误,它可能是未定义的。 –

+0

@TatsuyukiIshi你的意思是'映射回生成的源代码',如果你正在谈论路径,那么路径是正确的,因为它以前在webpack中工作1 –

+0

请检查webpack的输出,因为这看起来像一个运行时错误。 –

回答

5

尝试使用下面的代码加载scss文件。

{ 
    test: /\.(sass|scss)$/, 
    use: [      
     'raw-loader', 
     'sass-loader', 
    ] 
}, 

进口SCSS像这样的组件

styleUrls: ['./style.scss'], 
相关问题