提取文本插件不从.scss中提取css

时间:2017-05-05 04:55:56

标签: sass webpack extract-text-plugin

我有以下webpack.cofig.js文件

public void onLocationChanged(Location location) {
  String message = String.format("New Location \n Longitude: %1$s \n Latitude: %2$s",location.getLongitude(), location.getLatitude());
  Toast.makeText(home.this, message, Toast.LENGTH_LONG).show();
  SMS_textview.setText(message);
}

但是当我运行它时,不会出现应该生成的css文件。我使用的是extract-text-webpack-plugin但是这不起作用。它不会引发错误,但它也不起作用。

2 个答案:

答案 0 :(得分:1)

好的,我有这个工作,原因是在我的根应用程序组件(angular2)中,我有以下内容来引用主样式表。

  styleUrls: ['./app.component.scss'],

即使没有scss加载器(我正在使用令人敬畏的打字机加载器),这也工作得很好。但是,当我包括以下

const styles = require('./app.component.scss');

然后生成了额外的css。

答案 1 :(得分:0)

您正尝试从导入的模块中提取.extract而不是ExtractTextPlugin实例本身。你需要做的是实例化一个新的ExtractTextPlugin对象,并在插件和加载器中使用它。

const ExtractTextPlugin = require("extract-text-webpack-plugin");

const CssMain = new ExtractTextPlugin({ filename: 'mystyle.css', disable: false, allChunks: true });

....
module: {
  rules: [
    ....
    {          
      test: /\.scss$/,
      use: CssMain.extract({
        fallback: 'style-loader',
        use: ['css-loader', 'sass-loader']
      })
    }
    ....
  ]
},
plugins: [
  ....
  CssMain
  ....
]
....