vue 组件中 sass编译后无法提取到单独文件

新手上路,请多包涵

vue2 + webpack 组件中可以提取css到单独文件 但是sass却不能提出到单独文件而是嵌入到html内部。请问这个问题怎么解决?

module.exports = {
  entry: {
    'demo/build': './src/demo/main.js',
    'build': './src/app.js'
  },
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: '[name].js'
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          // vue-loader options go here
          loaders: {
            css: ExtractTextPlugin.extract({ fallbackLoader: 'vue-style-loader', loader: 'css-loader!sass-loader'})
          }
        }
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader',
        options: {
          name: 'images/[name].[ext]?[hash]'
        }
      }
    ]
  },
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue'
    }
  },
  plugins: [
    new ExtractTextPlugin({filename: './css/app.css', allChunks: true})
  ],
  devServer: {
    historyApiFallback: true,
    noInfo: true
  },
  devtool: '#eval-source-map'
}

图片描述

上图 app.css文件提取出来的都是组件的css部分 但是组件的sass部分却留在html里面。请问是什么原因?

阅读 3k
1 个回答

下载sass-loader

npm install --save-dev extract-text-webpack-plugin sass-loader

加载模块

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

配置loader

{
   test: /.sass$/,
   loader: ExtractTextPlugin.extract('style', 'css!sass')
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题