美文网首页
vue3 项目笔记

vue3 项目笔记

作者: 邦_ | 来源:发表于2024-03-18 17:26 被阅读0次

创建 vue ts vite项目

pnpm create vite

初始化项目

 pnpm i

package.json中修改配置,项目运行之后自动打开浏览器

截屏2024-03-19 16.21.14.png

eslint 配置 -D 代表开发依赖

pnpm i eslint -D

生成配置文件

npx eslint --init

选择检查语法和发现错误


截屏2024-03-19 16.30.14.png

选择模块式开发


截屏2024-03-19 16.31.27.png
使用vue开发
截屏2024-03-19 16.32.04.png

选择使用ts


截屏2024-03-19 16.32.37.png
运行在浏览器端
截屏2024-03-19 16.33.20.png
配置文件什么格式的
截屏2024-03-19 16.34.16.png
是否安装插件
截屏2024-03-19 16.35.18.png
使用哪种包管理工具
截屏2024-03-19 16.34.57.png

es配置文件说明


截屏2024-03-19 16.40.22.png 截屏2024-03-19 16.44.28.png

安装命令

pnpm install -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin-node @babel/eslint-parser

插件安装完成后eslint配置文件修改

module.exports = {
  env: {
    browser: true,
    es2021: true,
    node: true,
    jest: true,
  },
  /* 指定如何解析语法 */
  parser: 'vue-eslint-parser',
  /** 优先级低于 parse 的语法解析配置 */
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
    parser: '@typescript-eslint/parser',
    jsxPragma: 'React',
    ecmaFeatures: {
      jsx: true,
    },
  },
  /* 继承已有的规则 */
  extends: [
    'eslint:recommended',
    'plugin:vue/vue3-essential',
    'plugin:@typescript-eslint/recommended',
    'plugin:prettier/recommended',
  ],
  plugins: ['vue', '@typescript-eslint'],
  /*
   * "off" 或 0    ==>  关闭规则
   * "warn" 或 1   ==>  打开的规则作为警告(不影响代码执行)
   * "error" 或 2  ==>  规则作为一个错误(代码不能执行,界面报错)
   */
  rules: {
    // eslint(https://eslint.bootcss.com/docs/rules/)
    'no-var': 'error', // 要求使用 let 或 const 而不是 var
    'no-multiple-empty-lines': ['warn', { max: 1 }], // 不允许多个空行
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-unexpected-multiline': 'error', // 禁止空余的多行
    'no-useless-escape': 'off', // 禁止不必要的转义字符

    // typeScript (https://typescript-eslint.io/rules)
    '@typescript-eslint/no-unused-vars': 'error', // 禁止定义未使用的变量
    '@typescript-eslint/prefer-ts-expect-error': 'error', // 禁止使用 @ts-ignore
    '@typescript-eslint/no-explicit-any': 'off', // 禁止使用 any 类型
    '@typescript-eslint/no-non-null-assertion': 'off',
    '@typescript-eslint/no-namespace': 'off', // 禁止使用自定义 TypeScript 模块和命名空间。
    '@typescript-eslint/semi': 'off',

    // eslint-plugin-vue (https://eslint.vuejs.org/rules/)
    'vue/multi-word-component-names': 'off', // 要求组件名称始终为 “-” 链接的单词
    'vue/script-setup-uses-vars': 'error', // 防止<script setup>使用的变量<template>被标记为未使用
    'vue/no-mutating-props': 'off', // 不允许组件 prop的改变
    'vue/attribute-hyphenation': 'off', // 对模板中的自定义组件强制执行属性命名样式
  },
};

在根目录生成eslint忽略文件
.eslintignore 两个文件夹不需要校验

dist
node_modules

package.json新增两个运行脚本

"lint": "eslint src",
"fix":"eslint src --fix",

相关文章

网友评论

      本文标题:vue3 项目笔记

      本文链接:https://www.haomeiwen.com/subject/rmqzzdtx.html