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 rules
  stylistic: {
    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 support
  jsonc: false,
  yaml: false,

  // `.eslintignore` is no longer supported in Flat config, use `ignores` instead
  ignores: [
    '**/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"
    }

对于搭建Vue企业项目,可以使用Spring Cloud和Vue全家桶来实现快速搭建。Spring Cloud是一套用于构建分布式系统的框架,它提供了诸如服务发现、负载均衡、配置管理等功能,能够帮助我们构建高可用、可扩展的微服务架构。而Vue全家桶指的是Vue.js搭配Vue Router、Vuex和axios等插件,用于构建前端单页应用。 首先,我们可以使用Spring Cloud来搭建后端运营平台的微服务架构。Spring Cloud提供了一系列组件,如服务注册与发现(Eureka、Consul等)、配置中心(Spring Cloud Config)、负载均衡(Ribbon)、熔断器(Hystrix)等,这些组件可以帮助我们快速搭建一个稳定可靠的后端架构。我们可以使用Spring Boot来创建各个微服务,并利用Spring Cloud提供的组件进行集成和管理。 接下来,我们可以使用Vue全家桶来构建前端的购物流程页面。Vue.js是一个轻量的JavaScript框架,它使用虚拟DOM来实现高效的页面渲染和响应。Vue Router提供了路由功能,可以帮助我们实现页面之间的跳转和参数传递。Vuex是Vue.js的状态管理工具,可以帮助我们统一管理应用的状态。axios是一个基于Promise的HTTP库,可以帮助我们与后端进行数据交互。 此外,如果你的公司有比较成熟的UI规范,需要考虑旧项目使用的UI库是否有提供Vue3的兼容版本。因为Vue3相比Vue2有着更快的速度和更高效的语法,但在旧项目时需要注意兼容性的问题。 总结起来,搭建Vue企业项目可以使用Spring Cloud和Vue全家桶来实现快速搭建。Spring Cloud提供了分布式系统的框架,Vue全家桶提供了构建前端单页应用的工具。同时需要考虑旧项目的UI库是否兼容Vue3的版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值