2016-03-28 66 views
1

當試圖青菜,加載程序添加到我的WebPack的配置和運行到一個錯誤拋出錯誤:的WebPack ExtractTextPlugin加載薩斯

70% 1/1 build modules/Users/a557789/Documents/f/Portal/node_modules/webpack/node_modules/webpack-core/lib/LoadersList.js:81 
     r.forEach(function(r) { 
     ^
TypeError: undefined is not a function 
    at /Users/a557789/Documents/f/Portal/node_modules/webpack/node_modules/webpack-core/lib/LoadersList.js:81:5 
    at Array.reduce (native) 
    at LoadersList.match (/Users/a557789/Documents/f/Portal/node_modules/webpack/node_modules/webpack-core/lib/LoadersList.js:80:27) 

webpack.config:

var webpack = require("webpack"); 
var baseDir = "dist"; 

var HtmlWebpackPlugin = require('html-webpack-plugin'); 
var ExtractTextPlugin = require("extract-text-webpack-plugin"); 

var path = require("path"); 

module.exports = { 
    context: __dirname + "/app", 
    entry: { 
     app: "./main" 
    }, 
    resolve: { 
     extensions: ['', '.js', '.ts', '.css', '.scss'] 
    }, 
    output: { 
     path: __dirname + "/dist", 
     sourceMapFilename: "[name].map", 
     filename: "[name].js" 
    }, 
    module: { 
     loaders: [ 
      //https://www.npmjs.com/package/webpack-typescript 
      { 
       test: /\.ts$/, 
       loader: "ts-loader" 
      }, 
      { 
       test: /\.scss$/, 
       loaders: ExtractTextPlugin.extract("style", "css!sass") 
       //loaders: ExtractTextPlugin.extract("style!css!sass") 
      } 
     ], 
     noParse: [ /angular2\/bundles\/.+/ ] 
    }, 
    plugins: [ 
     new webpack.optimize.OccurenceOrderPlugin(true), 
     new ExtractTextPlugin("style.css"), 
     new HtmlWebpackPlugin({ 
      template: "../index.html", 
      inject: "body" 
     }) 
    ], 
    devtool: "source-map" 
}; 

我已經試過了一堆不同選項的提取()調用,但沒有運氣。任何幫助將不勝感激。

回答

4

而不是使用

loaders: ExtractTextPlugin.extract("style", "css!sass") 

的,你應該使用

loader: ExtractTextPlugin.extract("style", "css!sass") 

代替。

在這種情況下,錯誤不是特別具有描述性。

+0

感謝@bebraw,那就是訣竅..現在你指出我的錯誤是有道理的。 – Bob