合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
.editorconfig:编辑器的一些配置 ~~~ root = true [*] charset = utf-8 indent_style = space indent_size = 2 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true ~~~ .eslintignore:忽略语法检查的目标文件 ~~~ /build/ /config/ /dist/ /*.js ~~~ .eslintrc.js:eslint的配置 ~~~ module.exports = { root: true, parserOptions: { parser: 'babel-eslint' }, env: { browser: true, }, extends: [ 'plugin:vue/essential', 'standard' ], // required to lint *.vue files plugins: [ 'vue' ], // add your custom rules here rules: { // allow async-await 'generator-star-spacing': 'off', // allow debugger during development 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' } } ~~~ extends:标准规则 rules:预先规则,对具体规则进行修改。 ![](images/screenshot_1561969187153.png) ![](images/screenshot_1561969212778.png) ![](images/screenshot_1561969260972.png) ![](images/screenshot_1561969330348.png) ![](images/screenshot_1561969356732.png) ![](images/screenshot_1561969401211.png) ![](images/screenshot_1561969433875.png) ![](images/screenshot_1561969514927.png) ![](images/screenshot_1561969530684.png) ![](images/screenshot_1561970300609.png) .gitignore:git上传忽略掉的代码文件 index.html:入口文件,项目编译过程中,自动插入。 package.json:项目配置文件,描述已项目 scripts:定义新命令。 bug解决 ![](images/screenshot_1561973427697.png) ![](images/screenshot_1561973447454.png) 问题 ~~~ props: { data: { type: Array, default: ()=> [] } }, ~~~ 会报错,需要解决: If i may, that will be a bug. Because every instance will share the same thing when I not passing target property to this component.[Try this fiddle. ~~~ props: { data: { type: Array, default: () => [] } }, ~~~ 查看错误: ~~~ "lint": "eslint --ext .js,.vue src" npm run lint ~~~ 自动修复错误 ~~~ "lint": "eslint --fix --ext .js,.vue src" npm run lint ~~~ 配置项 ~~~ module.exports = { root: true, parserOptions: { parser: 'babel-eslint' }, env: { browser: true, }, extends: [ // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules. 'plugin:vue/essential', // https://github.com/standard/standard/blob/master/docs/RULES-en.md 'standard' ], // required to lint *.vue files plugins: [ 'vue' ], // add your custom rules here rules: { // allow async-await 'generator-star-spacing': 'off', //生成器星号空格限制 // allow debugger during development 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', "indent": ["off", 2], // 'space-before-function-paren': 0,//function之前是否加空格 // 'spaced-comment': 0, // 注释符合和内容之间要有空格 'no-multi-spaces': 0,//连续多个不用于缩进的空格通常是错误。 // 'keyword-spacing': 0,//例如function和if。这些标识符对语言有特殊意义,因此在代码编辑器中经常以不同的颜色显示。作为语言的重要组成部分,风格指南通常指的是围绕关键词使用的空格。 // 'space-before-blocks': 0, fix可修复 //如果是的"always"话,块必须至少有一个先前的空间。 //如果"never"那么所有的块都不应该有前面的空间。如果功能块,关键字块和类需要不同的间距,则可以将一个可选配置对象作为规则参数进行传递,以分别配置这些情况。 // 'padded-blocks': 0, //某些样式指南要求块语句以空行开头和结尾。 'no-multiple-empty-lines': 0, //多个空白行 'eol-last': 0,//每个文件末尾必须有空行,我觉得没必要 // 'semi':0, //不要用分号 // 'comma-dangle': 0, //后面不要吊逗号(对象最后一个属性之后) 'no-trailing-spaces': 0,//不要有空行 // 'key-spacing': 0,//冒号后要有空格, //箭头左右要有空格(arrow-spacing) } } ~~~ 最新eslint校验 ~~~ npm install eslint-plugin-vue -D extends: [ 'plugin:vue/essential', 'standard' ], ~~~ ## 使用eslint检查代码质量 javascript是一门弱类型语言,所以语法检查变得尤为重要。前端IDE开发工具,轻量级编辑器+语法检查工具(eslint) 配置方式:通过配置文件(.eslintrc.js)文件 扩展配置文件:extends字段可以扩展集成现有的规则。 ~~~ extends: [ 'plugin:vue/essential', 'standard' ], ~~~ Vuejs项目,需要同时对.vue文件中的js代码进行检测,需要利用**eslint-plugin-vue插件**来搭配使用。 ~~~ npm install eslint eslint-config-standard eslint-plugin-import eslint-plugin-vue --save-dev ~~~ 安装之后配置.eslintrc.js文件,可以添加规则(rules) 在package.json添加lint脚本 ~~~ // ... "scripts": { // ... "lint": "eslint --ext .js,.vue src" }, // ... "scripts": { // ... "lint": "eslint --fix --ext .js,.vue src" }, ~~~ --ext参数用来指导需要检查的扩展名的文件。src指定检查的目录 好处: 比如父组件往子组件传递属性,如果属性默认是一个空数组,必须函数的方法写。不然多个父组件调用时,会公用这个数组,导致数据共享,不可取。