首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Stylelint与Vue.js集成

将Stylelint与Vue.js集成
EN

Stack Overflow用户
提问于 2019-07-22 20:12:38
回答 2查看 5.6K关注 0票数 10

我正在尝试将stylelint集成到我新创建的Vue项目中。

我以为这是一个使用Stylelint Webpack Plugin的简单例子,但是当我运行yarn serve时,任何错误都会完全冻结它,并且没有输出。如果我运行yarn build,构建将会像预期的那样失败,但只会打印"There was a stylelint error"

我的vue.config.js如下:

代码语言:javascript
复制
const stylelintPlugin = require('stylelint-webpack-plugin');

module.exports = {
  configureWebpack: {
    plugins: [
      new stylelintPlugin({ files: ['**/*.(vue|scss)'] }),
    ],
  },
};

下面是我从package.json下载的最新版本

代码语言:javascript
复制
 "@vue/cli-service": "^3.9.0",
 "stylelint": "^10.1.0",
 "stylelint-config-recommended": "^2.2.0",
 "stylelint-scss": "^3.9.2",
EN

回答 2

Stack Overflow用户

发布于 2019-11-03 00:22:13

虽然这可能来得太晚了,但这里是使用stylelint-config-recommended-scss的工作配置。

它是第三方stylelint-scss插件的扩展,需要随stylelint本身一起安装。此外,还需要安装stylelint-webpack-plugin,这似乎是您的设置中缺少的。

安装开发依赖项:

代码语言:javascript
复制
# First remove an unnecessary one you had (with NPM):
npm uninstall stylelint-config-recommended

# Or with Yarn:
yarn remove stylelint-config-recommended

# Install dev deps with NPM:
npm i -D stylelint stylelint-scss stylelint-config-recommended-scss stylelint-webpack-plugin

# Or with Yarn:
yarn add -D stylelint stylelint-scss stylelint-config-recommended-scss stylelint-webpack-plugin

在您的vue.config.js配置文件中:

代码语言:javascript
复制
const StyleLintPlugin = require('stylelint-webpack-plugin');

module.exports = {
  configureWebpack: {
    plugins: [
      new StyleLintPlugin({
        files: ['src/**/*.{vue,scss}'],
      }),
    ],
  },
};

在项目的根文件夹中创建文件stylelint.config.js

代码语言:javascript
复制
module.exports = {
  extends: 'stylelint-config-recommended-scss',
  rules: {
    'selector-pseudo-element-no-unknown': [
      true,
      {
        ignorePseudoElements: ['v-deep']
      }
    ]
  }
};

package.json中,您可以添加此lint:scss命令(由npm run lint:scss运行)。它尝试在所有规则上运行自动修复,但请注意,并非所有规则都可以自动修复。

在这种情况下,脚本将输出错误行列表,并在出错时退出。您需要手动修复这些错误,然后重新运行脚本以查看错误是否已修复:

代码语言:javascript
复制
{
  "scripts": {
    "lint:scss": "stylelint ./src/**/*.{vue,scss} --fix"
  }
}

希望这能有所帮助!如果我遗漏了什么,请添加评论。

票数 20
EN

Stack Overflow用户

发布于 2020-05-21 04:16:58

我的配置与ux.engineer编写的配置相同,但是当我尝试运行脚本npm run lint:scss时,我会得到

代码语言:javascript
复制
node_modules/stylelint/node_modules/get-stdin/index.js:13
for await (const chunk of stdin) {
            ^^^^^

SyntaxError: Unexpected reserved word

结果发现我有错误的(旧的)节点版本,所以请注意这一点

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57145811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档