vue3+TS 项目规范与初始化

vue3+TS 项目规范与初始化

配置eslint
pnpm i eslint -D
  • 解决prettier冲突 ,Vue3 环境代码插件
pnpm i -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node  eslint-plugin-prettier eslint-config-prettier eslint-plugin-node @babel/eslint-parser  
  • 初始化eslint 文件
// 需要在.eslintrc.cjs 文件中
module.exports = {
    env:{
        browser: true,
        es2021: true,
        node: true,
        jest: true
    },
    parser:'vue-eslint/parser',
    parserOptions:{
        ecmaVersion: 'latest',
        sourceType:'module',
        parser:"@typescript-eslint/parser",
        jsxPragma:"React",
        ecmaFeatures:{
            jsx: true
        }
    },
    extends:[
        'eslint:recommended',
        'plugin:@typescript-eslint/recommended',
        'plugin:vue/vue3-essential',
        'plugin:prettier/recommended',
    ],
    plugins:['vue','@typescript-eslint'],
    rules:{
        'no-console': process.env.NODE_ENV === 'production'? 'warn' : 'off',
        'no-debugger': process.env.NODE_ENV === 'production'? 'warn' : 'off',
        'no-var':'error',
        'no-multiple-empty-lines':['warn',{max:1}],  //不允许多个空行
        'no-unexpected-multiline': 'error', // 禁止空余多行
        'no-useless-escape':'off', // 禁止不必要的转义字符

        '@typescript-eslint/no-explicit-any': 'off',
        '@typescript-eslint/no-unused-vars': 'error',
        '@typescript-eslint/prefer-ts-expect-error':"error",
        '@typescript-eslint/no-non-null-assertion': 'off',
        '@typescript-eslint/no-namespace': 'off',
        '@typescript-eslint/semi': 'off',

        'vue/multi-word-component-names': 'off',
        'vue/script-setup-uses-vars':'error',
        'vue/no-mutating-props':'off',
        'vue/attribute/hyphenation':"off"
    }
}
配置perttier
pnpm i -D eslint-plugin-prettier prettier eslint-config-prettier
  • 初始化
{
    "singleQuote":true,
    "semi":false,
    "bracketSpacing":true,
    "htmlWhitespaceSensitivity":"ignore",
    "endOfLine":"auto",
    "trailingComma":"all",
    "tabWidth":2
}
创建环境变量文件
  • .env.devlopment
  • .env.production
  • .env.test
  • 通过 import.meta.env 进行访问
svg 图标配置
pnpm i vite-plugin-svg-icons -D
  • 在vite.config.ts下配置
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
export default defineConfig({
  plugins: [
  	..., // 自己配置的插件
    createSvgIconsPlugin({
      // 指定需要缓存的图标文件夹
      iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],
      // 指定symbolId格式
      symbolId: "icon-[dir]-[name]",
    })
  ],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src')
    }
  }
});
  • 在主文件main.ts引入
import 'virtual:svg-icons-register'
  • 在文件中使用
// 图标大小在svg上设置,fill 表示填充颜色
<svg style="width: 30px;height: 30px;">
    <use xlink:href="#icon-[图标名字]" fill="red"></use>
</svg>
配置unocss

vue3 配置unocss

uniapp 小程序配置的例子

uniapp配置unocss

### 初始化一个 Vue 3 和 TypeScript 的项目初始化一个基于 Vue 3 和 TypeScript 的项目,可以使用 Vue CLI 或 Vite 工具来快速搭建开发环境。以下是详细的说明: #### 使用 Vue CLI 创建项目 Vue CLI 是官方提供的命令行工具,用于创建和管理 Vue 项目。通过安装 `@vue/cli` 并选择预设配置,可以轻松设置支持 TypeScript 的 Vue 3 项目。 1. **全局安装 Vue CLI** 如果尚未安装 Vue CLI,则可以通过 npm 安装它: ```bash npm install -g @vue/cli ``` 2. **创建新项目** 运行以下命令启动交互式向导以创建新的 Vue 项目: ```bash vue create my-vue-ts-project ``` 在提示中选择手动配置选项,并启用以下功能: - Vue 本:选择 Vue 3。 - 添加对 TypeScript 的支持。 - 配置其他可选特性(如 Router、Vuex 等),具体取决于项目的实际需求[^1]。 #### 使用 Vite 创建项目 Vite 是一种现代前端构建工具,专为快速冷启动设计,特别适合 Vue 3 和 TypeScript 开发者。相比 Vue CLI,它的初始加载速度更快,且内置了对 ESBuild 的支持。 1. **安装 Node.js 和 npm/yarn** 确保已安装最新本的 Node.js 及其包管理器。 2. **运行 Vite 脚手架命令** 执行以下命令以生成一个新的 Vue 3 + TypeScript 项目: ```bash npm init vite@latest my-vue-ts-project --template vue-ts cd my-vue-ts-project npm install npm run dev ``` 此过程会自动下载依赖项并启动本地开发服务器[^4]。 #### 额外资源 对于希望进一步探索 TypeScript 编译行为的开发者来说,在线 Playground 提供了一个便捷的方式验证代码逻辑[^3]。此外,如果需要调试经过压缩后的文件,可以利用 Source Map 来追踪原始错误位置[^2]。 ```typescript // 示例组件定义 <template> <div>{{ message }}</div> </template> <script lang="ts"> import { defineComponent } from &#39;vue&#39;; export default defineComponent({ data() { return { message: &#39;Hello Vue 3 with TypeScript!&#39; }; } }); </script> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小源学AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值