Как настроить webpack через vue-cli 3 для использования sass

Я создаю приложение vue с помощью vue-cli 3. Я хотел бы включить файлы sass в свою сборку веб-пакета, но vue-cli абстрагируется от файла webpack.config.js. Вместо этого мы должны создать файл vue.config.js и настроить его с помощью набора инструкций.

Если бы я настраивал webpack.config.js, работало бы следующее:

module.exports = {
  module: {
    rules: [
      // ... other rules omitted

      // this will apply to both plain `.scss` files
      // AND `<style lang="scss">` blocks in `.vue` files
      {
        test: /\.scss$/,
        use: [
          'vue-style-loader',
          'css-loader',
          'sass-loader'
        ]
      }
    ]
  },
  // plugin omitted
}

Как мне настроить vue.config.js, чтобы добиться того же? Вот моя лучшая попытка:

module.exports = {
    chainWebpack: config => {
        config.module
            .rule('scss')
            .test(/\.scss$/)
            .use('vue-style-loader')
            .loader('vue-style-loader')
            .use('css-loader')
            .loader('css-loader')
            .use('sass-loader')
            .loader('sass-loader')
            .end();
    }
};

Это не удается с сообщением

ERROR  TypeError: config.module.rule(...).test(...).use(...).loader(...).use is not a function

person Matt Parkins    schedule 12.12.2018    source источник
comment
вы проверили это: stackoverflow.com/questions/44019469/, у нас также есть sass, и у нас нет никаких особенностей в vue.config.js для этого, вы всегда можете запустить vue inspect -- режим производства > production.config.js, чтобы увидеть конфигурацию веб-пакета, которую vue-cli использует для сборки npm run, или vue inspect --mode development > development.config.js, чтобы увидеть конфигурацию веб-пакета, которую vue-cli использует для npm run serve , если вы измените этот файл vue.config и запустите его снова, вы увидите свои изменения.   -  person Ben Croughs    schedule 14.12.2018


Ответы (1)


Если вы используете vue cli 3, просто запустите в корневом каталоге вашего проекта следующее:

vue add style-resources-loader
person Justin Connell    schedule 23.01.2020