Vue.js:vue.config.js 中的无效选项:不允许使用“插件”

Bob*_*bby 6 javascript sass webpack vue.js stylelint

我有一个 webpack 项目,我想使用 Stylelint 进行 SCSS linting。我已按照 Stylelint 网站上的说明进行安装:

"stylelint": "^12.0.1",
"stylelint-webpack-plugin": "^1.1.2",
Run Code Online (Sandbox Code Playgroud)

然后我把它放在 vue.config.js 中:

plugins: [
  new StylelintPlugin({
    files: '**/*.s?(a|c)ss'
  })
],
Run Code Online (Sandbox Code Playgroud)

当我启动服务器时,我得到了这个:

Invalid options in vue.config.js: "plugins" is not allowed
Run Code Online (Sandbox Code Playgroud)

我搜索了高低,但没有找到任何东西。任何帮助,将不胜感激。

这是 vue.config.js:

const StylelintPlugin = require('stylelint-webpack-plugin')

module.exports = {

  plugins: [
    new StylelintPlugin({
      files: '**/*.s?(a|c)ss'
    })
  ],

  assetsDir: 'asset',

  configureWebpack: config => {
    config.entry = '@/wrapper/main.js'
  },

  chainWebpack: config => {
    config.plugins.delete('prefetch')
  },

  lintOnSave: undefined,
  runtimeCompiler: true
}
Run Code Online (Sandbox Code Playgroud)

eal*_*lef 12

调整 webpack 配置的最简单方法是为 vue.config.js 中的configureWebpack选项提供一个对象:

// vue.config.js
module.exports = {
  configureWebpack: {
    plugins: [new MyAwesomeWebpackPlugin()]
  }
}
Run Code Online (Sandbox Code Playgroud)

该对象将使用 webpack-merge 合并到最终的 webpack 配置中。

查看https://cli.vuejs.org/guide/webpack.html了解更多信息。


spM*_*aax 2

您是否尝试过使用以下语法:

const StylelintPlugin = require('stylelint-webpack-plugin')

module.exports = {

  assetsDir: 'asset',

  configureWebpack: config => {
    config.entry = '@/wrapper/main.js'
  },

  chainWebpack: config => {
    config.plugins.delete('prefetch')

    config.plugin('stylelint').use(StylelintPlugin, [
      {
        files: '**/*.s?(a|c)ss'
      }
    ])
  },

  lintOnSave: undefined,
  runtimeCompiler: true
}
Run Code Online (Sandbox Code Playgroud)

这就是我们设法让它发挥作用的方法。