当前位置: 首页 > news >正文

28 Vue3之搭建公司级项目规范

可以看到保存的时候ref这行被提到了最前面的一行 要求内置库放在组件的前面称为auto fix,数组new arry改成了字面量,这就是我们配置的规范

  • js规范使用的是airbnb规范
  • 模块使用的是antfu 组合prettier&eslint

airbnb规范: https://github.com/airbnb/javascript?tab=readme-ov-file#arrow-functions

antfu 组合规范:

https://github.com/antfu/eslint-config/tree/feat/support-eslint-9

效果图:

 nvm包管理工具

NVM全称node.js version management ,专门针对node版本进行管理的工具,通过它可以安装和切换不同版本的node.js

使用场景

我目前的公司有很多项目,其中有一些老项目用的是vue2.5左右了webpack版本也比较低,只能使用10.16.0左右的node版本,但是也有一些新项目需要使用高版本的node例如14.17.3左右的这时候就可以使用nvm切换node 版本

1.安装nvm

安装过程中会提示两个存放目录地址 选择两个不同的文件夹即可

windows 安装地址

Releases · coreybutler/nvm-windows · GitHub

 nvm list available 查看nodejs 官方的所有版本 

nvm install (版本号)下载对应的node版本号

使用node的某个版本nvm use 22.0.0

nvm list 查看现在所有安装的node版本 

使用node-v查看版本

 tips:若之前电脑安装了node版本卸载即可 或者出现node -v无法识别重启电脑即可

 项目搭建

由于vite脚手架要禁止*.cjs 和 eslint版本升级废弃rc配置文件, 故重新搭建

1 前置条件

node版本>20

node 最好>20 因为eslint9的需要 本次项目node为22.0.0

 2 初始化项目

npm init vite@latest

vsocde需安装插件

 

antfu 组合prettier&eslint

npm i -D eslint @antfu/eslint-config eslint-plugin-format

eslint.config.js 

根目录配置新建eslint.config.js文件 用于eslint规则校验

// eslint.config.js
import antfu from '@antfu/eslint-config'export default antfu({// Enable stylistic formatting rules// stylistic: true,// Or customize the stylistic rulesstylistic: {indent: 2, // 4, or 'tab'quotes: 'single', // or 'double'},// TypeScript and Vue are auto-detected, you can also explicitly enable them:typescript: true,vue: true,// Disable jsonc and yaml supportjsonc: false,yaml: false,// `.eslintignore` is no longer supported in Flat config, use `ignores` insteadignores: ['**/fixtures',// ...globs],
}, {rules: {'no-console': 'off', //关闭console.log 报错},
})

VS Code support (auto fix)

.vscode目录下新建settings.json 用于保存带代码格式化

{// Enable the ESlint flat config support"eslint.experimental.useFlatConfig": true,// Disable the default formatter, use eslint instead"prettier.enable": false,"editor.formatOnSave": false,// Auto fix"editor.codeActionsOnSave": {"source.fixAll.eslint": "explicit","source.organizeImports": "never"},// Silent the stylistic rules in you IDE, but still auto fix them"eslint.rules.customizations": [{ "rule": "style/*", "severity": "off" },{ "rule": "format/*", "severity": "off" },{ "rule": "*-indent", "severity": "off" },{ "rule": "*-spacing", "severity": "off" },{ "rule": "*-spaces", "severity": "off" },{ "rule": "*-order", "severity": "off" },{ "rule": "*-dangle", "severity": "off" },{ "rule": "*-newline", "severity": "off" },{ "rule": "*quotes", "severity": "off" },{ "rule": "*semi", "severity": "off" }],// Enable eslint for all supported languages"eslint.validate": ["javascript","javascriptreact","typescript","typescriptreact","vue","html","markdown","json","jsonc","yaml","toml"]
}

配置已完成 当文件保存的时候即可格式化

新增脚本package.json

用于整个项目文件的规则校验

"scripts": {// ..."lint": "eslint .","lint:fix": "eslint . --fix"}

http://www.lryc.cn/news/453764.html

相关文章:

  • 【pytorch】张量求导3
  • Servlet——springMvc底层原理
  • Json 在线可视化工具,分享几个
  • LLM | llama.cpp 安装使用(支持CPU、Metal及CUDA的单卡/多卡推理)
  • 矩阵求解复数(aniwoth求解串扰)
  • Redis: Sentinel哨兵监控架构及环境搭建
  • C++ 语言特性30 - 模板介绍
  • 算法笔记(七)——哈希表
  • 【基础算法总结】链表篇
  • 探索路由器静态IP的获取方式
  • Vivado - JTAG to AXI Master (GPIO、IIC、HLS_IP)
  • Java中JWT(JSON Web Token)的运用
  • CSS3练习--电商web
  • Linux 默认内核版本更改
  • 【ubuntu】修改用户名、主机名、主文件夹名、登录名、密码
  • 深入理解JavaScript 的原型继承
  • Error while loading conda entry point: conda-libmamba-solver
  • FANUC机器人—PCDK
  • 如何在wsl中使用beyond compare
  • CNN+Transformer在自然语言处理中的具体应用
  • DotNetty ChannelRead接收数据为null
  • 3分钟学会下载 blender
  • 实现Xshell与虚拟机中Linux服务器的连接(附常见错误解决)
  • Rust 语言开发 ESP32C3 并在 Wokwi 电子模拟器上运行(esp-hal 非标准库、LCD1602、I2C)
  • 项目-坦克大战笔记-墙体销毁以及人机销毁
  • 硬件设计-利用环路设计优化PLL的输出性能
  • Vue入门-Node.js安装
  • OpenCV threhold()函数
  • Qt教程(002):Qt项目创建于框架介绍
  • 《C++游戏人工智能开发:开启智能游戏新纪元》