Node.js代码规范


eslint

npm i eslint-plugin-promise eslint-plugin-node eslint-plugin-import eslint-plugin-standard eslint-config-standard prettier eslint-plugin-prettier eslint-config-prettier babel-eslint -D

//.prettierrc 配置文件
{
  "singleQuote": true,
  "trailingComma": "es5",
  "printWidth": 100,
  "semi": false,
  "jsxSingleQuote": true
}
// .eslintrc.js
module.exports = {
  env: {
    browser: true,
    jquery: true, //由于项目中使用来jquery。。。其实不用引入jquery的,以后有机会去掉jquery后,请移除该配置。
  },
  parserOptions: {
    parser: 'babel-eslint', //词法解析器使用babel-eslint,以更好的适配es6的新api
    ecmaVersion: 6, //启用 ES6 语法支持;默认设置为3,5(默认), 你可以使用 6、7、8 或 9 来指定你想要使用的 ECMAScript 版本。你也可以用使用年份命名的版本号指定为 2015(同 6),2016(同 7),或 2017(同 8)或 2018(同 9)
    sourceType: 'module', //设置为 "script" (默认) 或 "module"(如果你的代码是 ECMAScript 模块)。
  },
  extends: [
    'standard',
    'eslint:recommended',
    'plugin:vue/essential',
    'plugin:prettier/recommended',
  ],
  plugins: ['vue','prettier'],
  rules: {
    'prettier/prettier': 'error',
    'generator-star-spacing': 'off',
    'import/no-named-as-default': 'off',
    'import/no-named-as-default-member': 'off',
    'no-unused-vars': [
      'error',
      { vars: 'all', args: 'none', ignoreRestSiblings: false },
    ], //没有使用的参数,不会报错。因为个人觉的把可用的参数写上去 有利于以后的维护。
    'vue/multi-word-component-names': 'off',  //关闭组件名单个单词告警
    camelcase: 'off',  //关闭变量名驼峰规则告警
    '@typescript-eslist/camelcase': 0,
  },
};

通过IDEA进行代码开发时,需要指定Tools–Actions on save选中 run eslint --fix

FAQ

Error while loading rule 'prettier/prettier': context.getPhysicalFilename is not a function

eslint-plugin-prettie 4.x与要求eslint:7.28以上

load plugin 'vue' declared in '.eslintrc.js': Package subpath './lib/rules/array-bracket-spacing'

yarn add eslint-plugin-vue -u

Parsing error: Must use import to load ES Module:

yarn add @babel/eslint-parser -u

idea手动指定webpack.config.js为配置文件即可识别@ 路径为:nodemodule/@vue/cli.service/webpack.config.js

Environment key "es2021" is unknown

升级eslint至7.8.0版本以上即可

yarn upgrade eslint@7.32.0

文章作者: Semon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Semon !
评论
  目录