vue3+vite+ts

165 阅读1分钟

Vue 3 + TypeScript + Vite

  yarn create vite
  yarn install
  yarn run dev

配置

  "start": "npm run dev",
  "dev": "vite --open",
  启动:yarn start

eslint 配置

  yarn add eslint -D
  npx eslint --init

  .eslintignore
  .eslintrc.cjs

vue3 校验

  yarn add -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin-node @babel/eslint-parser

  "lint": "eslint src",       检查错误
  "fix": "eslint src --fix"   纠正错误

prettier 格式化

  yarn add -D eslint-plugin-prettier prettier eslint-config-prettier

  .prettierrc.json添加规则
  .prettierignore忽略文件

stylelint 配置

  yarn add sass sass-loader stylelint postcss postcss-scss postcss-html stylelint-config-prettier stylelint-config-recess-order stylelint-config-recommended-scss stylelint-config-standard stylelint-config-standard-vue stylelint-scss stylelint-order stylelint-config-standard-scss -D

  .stylelintrc.cjs
  .stylelintignore忽略文件

  // format 直接格式化
  "format": "prettier --write \"./**/*.{html,vue,ts,js,json,md}\"",
  "lint:eslint": "eslint src/**/*.{ts,vue} --cache --fix",
  "lint:style": "stylelint src/**/*.{css,scss,vue} --cache --fix",

环境变量配置

  .env.development
  .env.production
  .env.test

  "build:test": "vue-tsc && vite build --mode test",
  "build:pro": "vue-tsc && vite build --mode production",

sass

src/styles目录下创建一个index.scss reset.scss variable.scss文件
  main.ts 引入 import "@/styles/index.scss";
  在vite.config.ts文件配置如下:
  export default defineConfig((config) => {
        css: {
                    preprocessorOptions: {
                          scss: {
                                javascriptEnabled: true,
                                additionalData: '@import "./src/styles/variable.scss";',
                          },
                    },
              },
        }
  }

element-plus

  yarn add element-plus @element-plus/icons

  **入口文件main.ts全局安装element-plus,element-plus默认支持语言英语设置为中文**
        import ElementPlus from 'element-plus';
        import 'element-plus/dist/index.css'
        //@ts-ignore忽略当前文件ts类型的检测否则有红色提示(打包会失败)
        import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
        app.use(ElementPlus, {
        locale: zhCn
        })

  **Element Plus全局组件类型声明**
        // tsconfig.json
        {
        "compilerOptions": {
        // ...
        "types": ["element-plus/global"]
        }
        }

src 别名的配置

        // vite.config.ts
        import {defineConfig} from 'vite'
        import vue from '@vitejs/plugin-vue'
        import path from 'path'
        export default defineConfig({
              plugins: [vue()],
              resolve: {
                    alias: {
                          "@": path.resolve("./src") // 相对路径别名配置,使用 @ 代替 src
                    }
              }
        })

        // tsconfig.json
        {
              "compilerOptions": {
                    "baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录
                    "paths": { //路径映射,相对于baseUrl
                          "@/*": ["src/*"]
                    }
              }
        }

vue-router

  yarn add vue-router@4

guthub地址 github.com/liuer1211/v…