美文网首页
Vite+Vue3+TS 初始化项目

Vite+Vue3+TS 初始化项目

作者: 东方三篇 | 来源:发表于2021-12-08 11:31 被阅读0次

项目初始化

项目介绍: 本项目使用vite2.7.0和vue3.2.23 和 Typescript4.4.4(2021年12月初)最新的版本来实现后台管理项目。并会使用element-plus做UI库,axios做数据交互,vuex做状态管理,vue-router做路由管理, ESlint+Prettier做代码校验和格式化, Echarts做页面图表可视化, less来做css预编译。

初始化源码地址github

1. 准备工作

node -v # 14.17.5 要求要 node 12版本以上
npm -v
yarn -v # 1.22.17 当前最新版
本项目使用 **vscode**作为主编译器[vscode使用](https://www.jianshu.com/p/8e127a3aba55)

2. 初始化

  1. 参考vite的文档create-vite来做init: vite文档地址
yarn create vite my-demo-app --template vue-ts # 直接初始化vite+vue+ts
cd my-demo-app
yarn
yarn dev # 能看到localhost:3000的默认欢迎页面则初始化成功

此时的vite.config.js和tsconfig.js文件均已初始化默认选项。

vite.config.js常用配置

tsconfig.json常用配置

启动项目不能通过本地ip地址访问:解决办法

  1. 引用UI库:element-plus

    yarn add element-plus
    

    使用方法更多方式参考:更多用法

    // 这里仅展示完整引入
    // 修改 main.ts文件
    import { createApp } from 'vue'
    import ElementPlus from 'element-plus'
    import 'element-plus/dist/index.css'
    import App from './App.vue'
    createApp(App).use(ElementPlus, { size: 'small', zIndex: 100 }).mount('#app')
    
    <el-button type="primary"> 按钮 </el-button> /*如果页面上能看到蓝色的按钮,就说明引用成功了*/
    

    使用方式几乎和element-ui保持一致

  2. 使用 Less来做css预编译

yarn add less less-loader -D

然后再组件中使用less测试是否成功

<style scoped lang="less">
.text {
  color: red;
}
</style>
  1. 修改一些默认目录结构,这个也可以后面什么时候用到什么时候再定义。

3. 使用 ESlint + Prettier 做代码校验和格式化

    哪里不能用校验参考禁用[校验方法](https://www.jianshu.com/p/bb590f8e1c98)
  1. 引入eslint
yarn add eslint -D
yarn add @typescript-eslint/eslint-plugin -D
yarn add @typescript-eslint/parser -D
yarn add eslint-config-alloy -D
yarn add eslint-config-prettier -D
yarn add eslint-plugin-prettier -D
yarn add eslint-plugin-vue -D
yarn add vue-eslint-parser -D
yarn add vite-plugin-eslint -D
  1. 配置eslint, 在根目录创建.eslintrc.json文件,并写入以下内容:

    // https://eslint.org/docs/user-guide/configuring
    
    module.exports = {
      extends: [
        'eslint:recommended',
        "plugin:vue/vue3-recommended",
        "prettier"
      ],
      // required to lint *.vue files
      plugins: [
        'vue'
      ],
      // add your custom rules here
      rules: {
        // allow async-await
        'generator-star-spacing': 'off',
        // allow debugger during development
        'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
        'no-labels': ['warn', {'allowLoop': true}],
        'no-unused-vars': 'off',
        'vue/no-mutating-props': 'off',
        'vue/require-default-prop': 'off',
        'vue/no-unused-vars': 'off',
        'vue/prop-name-casing': 'off',
        'vue/attribute-hyphenation': 'off',
        'vue/no-template-shadow': 'off',
        'vue/component-definition-name-casing': 'off'
      }
    }
    
    
  2. 配置 .eslintignore文件

    /build/
    /config/
    /dist/
    /*.js
    /*.zip
    /*.rar
    /node_modules/
    /test/unit/coverage/
    
    
  3. 引入Prettier来自动格式化代码

    yarn add prettier -D
    
  4. 配置 Prettier, 在根目录下创建 prettier.config.js文件,并写入以下内容:

    // prettier.config.js or .prettierrc.js
    module.exports = {
      // 一行最多 100 字符
      printWidth: 100,
      // 使用 2 个空格缩进
      tabWidth: 2,
      // 不使用缩进符,而使用空格
      useTabs: false,
      // 行尾需要有分号
      semi: false,
      // 使用单引号
      singleQuote: true,
      // 对象的 key 仅在必要时用引号
      quoteProps: 'as-needed',
      // jsx 不使用单引号,而使用双引号
      jsxSingleQuote: false,
      // 末尾不需要逗号
      trailingComma: 'none',
      // 大括号内的首尾需要空格
      bracketSpacing: true,
      // jsx 标签的反尖括号需要换行
      jsxBracketSameLine: false,
      // 箭头函数,只有一个参数的时候,也需要括号
      arrowParens: 'always',
      // 每个文件格式化的范围是文件的全部内容
      rangeStart: 0,
      rangeEnd: Infinity,
      // 不需要写文件开头的 @prettier
      requirePragma: false,
      // 不需要自动在文件开头插入 @prettier
      insertPragma: false,
      // 使用默认的折行标准
      proseWrap: 'preserve',
      // 根据显示样式决定 html 要不要折行
      htmlWhitespaceSensitivity: 'css',
      // 换行符使用 lf
      endOfLine: 'lf'
    }
    
    
  5. 对应的vscode编译器也要安装 ESLintPrettier 扩展

  6. 编辑 vscode 编辑器的settings.json文件。 ctrl+shift+p打开命令: Open Workspace Settings(JSON)选项,就会在根目录出现一个.vscode的文件夹,修改里面的 settings.json文件如下:

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.tabSize": 2
}

此时可以代码自动格式化啦!

初始化源码地址[github](Lzq811/vite-vue-ts-eslint at vite2+vue3+ts4+eslint项目初始化 (github.com))

相关文章

网友评论

      本文标题:Vite+Vue3+TS 初始化项目

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