您好,登錄后才能下訂單哦!
本篇內容主要講解“vue項目代碼格式規范怎么設置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“vue項目代碼格式規范怎么設置”吧!
使用vue-cli構建的項目,在項目構建時,就會讓你選擇格式化方案,如果是已有項目運行vue add eslint添加格式化方式,建議選擇Prettier 的格式化方案;如果是uniapp的項目,如果使用的是vue-cli,也是使用vue add eslint,如果是使用HBuilder構建打包,需要安裝另外安裝@vue/cli-service,不然npm run lint無法正常格式化。
添加eslint之后,根據你的選擇,eslint的配置項,可能在.eslintrc.js文件中,如果該文件不存在,配置項應該在package.json,默認配置應該如下:
module.exports = { root: true, env: { node: true, }, extends: [ "plugin:vue/essential", "eslint:recommended", "plugin:prettier/recommended", ], parserOptions: { parser: "@babel/eslint-parser", } };
這些配置不建議改動,如果有其他需求,我們可以在其基礎上進行自定義配置。
module.exports = { "root": true, "env": { "node": true }, "extends": [ "plugin:vue/essential", "plugin:vue/recommended", "eslint:recommended", "@vue/prettier" ], "parserOptions": { "parser": "babel-eslint" }, rules: { "no-console": process.env.NODE_ENV === "production" ? "error" : "warn", "no-debugger": process.env.NODE_ENV === "production" ? "error" : "warn", "no-unused-vars": [ "error", { vars: "all", args: "none", ignoreRestSiblings: true }, ], "vue/order-in-components": ["error", { "order": [ "el", "name", "key", "parent", "functional", ["delimiters", "comments"], ["components", "directives", "filters"], "extends", "mixins", ["provide", "inject"], "ROUTER_GUARDS", "layout", "middleware", "validate", "scrollToTop", "transition", "loading", "inheritAttrs", "model", ["props", "propsData"], "emits", "setup", "asyncData", "data", "fetch", "head", "computed", "watch", "watchQuery", "LIFECYCLE_HOOKS", "onLoad", "onShow", "onReady", "onHide", "onUnload", "onResize", "onPullDownRefresh", "onReachBottom", "onTabItemTap", "onShareAppMessage", "onPageScroll", "methods", ["template", "render"], "renderError" ] }] }, globals: { uni: true, requirePlugin: true }, }
推薦的eslint配置如上。
extends中添加了plugin:vue/recommended,這個插件是限制了vue的一些代碼規范,如組件屬性的順序,vue選項的順序等。
rules中的no-console和no-debugger限制了代碼中的console和debugger,在開發環境會生成警告信息,在生產環境會提示報錯;no-unused-vars對為使用的變量做了限制,除了參數和reset中不允許出現未使用的變量;vue/order-in-components是在uniapp中對plugin:vue/recommended規范的一個補充,uniapp中存在許多vue沒有的選項,設置vue/order-in-components將這些沒有的選項也進行格式化排序。
globals中添加使用到的全局變量,如果不添加會在格式化時報錯。uni是uniapp常用的全局對象,requirePlugin是微信開發用的的全局變量。
pre-commit在git commit之前做一些處理,我們需要在提交之前對代碼格式規范做檢查,避免在項目打包時,出現eslint的報錯。在項目添加lint-staged,然后再package.json中配置(我們使用vue命令添加eslint時,選擇commit時格式化,會自動幫我們添加):
"gitHooks": { "pre-commit": "lint-staged" }, "lint-staged": { "*.{js,jsx,vue}": [ "vue-cli-service lint --mode production", "git add" ] }
我們需要用的eslint和vetur這兩個插件,eslint插件需要npm全局安裝eslint包,兩個插件安裝完之后,在VS Code的配置中,設置:
"[vue]": { "editor.defaultFormatter": "octref.vetur" }
如果無法格式化,可能是格式化工具沖突導致的,設置:
// 保存時使用VSCode 自身格式化程序格式化 "editor.formatOnSave": true, // 保存時用eslint格式化 "editor.codeActionsOnSave": { "source.fixAll.eslint": true } // 兩者會在格式化js時沖突,所以需要關閉默認js格式化程序 "javascript.format.enable": false
到此,相信大家對“vue項目代碼格式規范怎么設置”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。