2017-04-12 63 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'], 
相關問題