Sass不';我不能被编译

Sass不';我不能被编译,sass,webpack,vue.js,webpack-style-loader,Sass,Webpack,Vue.js,Webpack Style Loader,未编译我的scss文件。它不明白我对代码做了什么。我希望能够使用Sass而不是CSS,但是我找不到正确的方法来编译Sass 我正在使用Vue.js的网页包模板 我的网页包配置文件如下所示: var path = require('path') var utils = require('./utils') var config = require('../config') var vueLoaderConfig = require('./vue-loader.conf') function re

未编译我的scss文件。它不明白我对代码做了什么。我希望能够使用Sass而不是CSS,但是我找不到正确的方法来编译Sass

我正在使用Vue.js的网页包模板

我的网页包配置文件如下所示:

var path = require('path')
var utils = require('./utils')
var config = require('../config')
var vueLoaderConfig = require('./vue-loader.conf')

function resolve (dir) {
return path.join(__dirname, '..', dir)
}

module.exports = {
entry: {
app: './src/main.js',
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
  ? config.build.assetsPublicPath
  : config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
  'vue$': 'vue/dist/vue.esm.js',
  '@': resolve('src'),
}
},
module: {
rules: [
  {
    test: /\.vue$/,
    loader: 'vue-loader',
    options: vueLoaderConfig
  },
  {
    test: /\.scss$/,
    use: [ 'style-loader','css-loader','sass-loader' ],
    loaders: ['style', 'css', 'sass']
  },
  {
    test: /\.js$/,
    loader: 'babel-loader',
    include: [resolve('src'), resolve('test')]
  },
  {
    test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
    loader: 'url-loader',
    query: {
      limit: 10000,
      name: utils.assetsPath('img/[name].[hash:7].[ext]')
    }
  },
  {
    test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
    loader: 'url-loader',
    query: {
      limit: 10000,
      name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
    }
  }
]
}
}

只需使用
一种方法,就是将单个
scss
文件作为条目。这是导入所有不同scss文件的地方。差不多。然后将该
scss
文件导入js条目文件的源代码中(在本例中为
/src/main.js
)。因此,当webpack读取您的
main.js
时,它将看到
import./myscssfile.scss'
,并查找加载程序(或者我认为是这样)。以下是我如何在webpack2中完成我的scss模块:

module: {
 rules: [
  // my js stuff
  { test: /\.js$/, enforce: 'pre', loader: 'eslint-loader', exclude: /node_modules/ },
  
  // my scss stuff
  {
    test: /\.scss$/,
    use: [
      {
        loader: 'style-loader'
      },
      {
        loader: 'css-loader',
        options: {
          modules: true,
          importLoaders: 2,
          sourceMap: true,
          localIdentName: '[local]___[hash:base64:5]'
        }
      },
      {
        loader: 'autoprefixer-loader',
        options: {
          browsers: 'last 2 version'
        }
      },
      {
        loader: 'sass-loader',
        options: {
          outputStyle: 'expanded',
          sourceMap: true
        }
      }
    ]
  }
 ]
}

我希望它能工作。

您想在VueJS单文件组件中使用
scss
吗?在组件中使用