Vue3 + Vite2 + TypeScript4搭建企业级项目框架

这篇具有很好参考价值的文章主要介绍了Vue3 + Vite2 + TypeScript4搭建企业级项目框架。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

搭建企业级 Vue3 + Vite2 + TypeScript4 框架的步骤如下:

1. 创建项目

使用命令行工具进入到你想要创建项目的目录,然后执行以下命令:

mkdir your-project-name
cd your-project-name
npm init -y

这将会创建一个新的项目文件夹和一个 package.json 文件。

2. 安装依赖

接下来你需要在项目中安装 Vue、Vite、TypeScript 和其他需要的依赖。执行以下命令:

npm install @vitejs/plugin-vue vue@next vite typescript --save-dev

以上命令会安装最新的 Vue、Vite 和 TypeScript。你还需要安装其他依赖,例如路由和状态管理工具,这里以 vue-router 和 vuex 为例:

npm install vue-router vuex --save-dev

3. 配置 TypeScript

在项目根目录下创建 tsconfig.json 文件,用于配置 TypeScript。

touch tsconfig.json

打开 tsconfig.json 文件,添加以下内容:

{
    "compilerOptions": {
        "target": "esnext",
        "module": "esnext",
        "strict": true,
        "jsx": "preserve",
        "moduleResolution": "node",
        "esModuleInterop": true,
        "useDefineForClassFields": true,
        "allowJs": true,
        "sourceMap": true,
        "baseUrl": "./",
        "paths": {
            "@/*": [
                "./src/*"
            ]
        },
        "lib": [
            "dom",
            "dom.iterable",
            "esnext"
        ]
    },
    "include": [
        "src/**/*.ts",
        "src/**/*.tsx",
        "tests/**/*.ts",
        "tests/**/*.tsx",
        "typings/**/*.d.ts",
        "src/**/*.vue"
    ],
    "exclude": [
        "node_modules"
    ]
}

这里的配置包括了一些基本的 TypeScript 配置,例如编译目标、模块、严格模式和源映射。

4. 修改 Vite 配置

在项目根目录下创建 vite.config.ts 文件,用于配置 Vite。

touch vite.config.ts

打开 vite.config.ts 文件,添加以下内容:

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
const env = process.argv[process.argv.length - 1]
console.log('当前项目环境:: ', env)
console.log('当前node运行环境:: ', process.env.NODE_ENV)

export default ({ mode }) => {
    console.log("mode------------>", mode)
    return defineConfig({
        plugins: [
            vue()
        ],
        resolve: {
            alias: { // 配置别名
                vue: "vue/dist/vue.esm-bundler.js",
                '@': path.resolve(__dirname, './src')
            }
        }
    })
}


以上配置使用了 Vite 内置的 Vue 插件,用来处理 Vue 的单文件组件。同时,还定义了一个 alias,将 @ 映射到项目根目录下的 src 文件夹。

5. 创建目录结构

在项目根目录下创建 src 文件夹,并在其中创建以下目录结构:

- src/
  - assets/       // 存放静态资源文件
  - components/   // 存放可复用的组件
  - router/       // 存放路由配置
  - store/        // 存放状态管理相关文件
  - views/        // 存放页面组件 
  - App.vue       // 根组件
  - main.ts       // 入口文件
  - env.d.ts

然后在env.d.ts文件里面添加以下内容

declare module '*.vue' {
   import type { DefineComponent } from 'vue'
   const component: DefineComponent<{}, {}, any>
   export default component
}

6. 配置路由

在 router 目录下创建 index.ts 文件,用于配置路由。

touch router/index.ts

打开 index.ts 文件,添加以下内容:

import { createRouter, createWebHistory } from 'vue-router'
import Home from '@/views/Home.vue'

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

以上配置创建了一个简单的路由,指定了根路由指向 Home 组件。

7. 配置状态管理

在 store 目录下创建 index.ts 文件,用于配置状态管理。

touch store/index.ts

打开 index.ts 文件,添加以下内容:

import { createStore } from 'vuex'

const store = createStore({
  state: {
    count: 0
  },
  mutations: {
    increment(state) {
      state.count++
    }
  },
  actions: {
    increment(context) {
      context.commit('increment')
    }
  },
  modules: {}
})

export default store

以上配置创建了一个简单的状态管理,包含了一个计数器。

8. 编写根组件

在 App.vue 文件中编写根组件:

<template>
  <div>
    <router-view />
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
  name: 'App'
})
</script>

以上根组件中只有一个 组件,用于显示当前路由所对应的组件。

9. 编写入口文件

在 main.ts 文件中编写入口文件:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

const app = createApp(App)
app.use(router)
app.use(store)
app.mount('#app')

以上入口文件使用了 router 和 store,并将 App 组件渲染到了 id 为 app 的 DOM 元素中。

10.项目目录下添加index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
</head>

<body>
    <div id="app"></div>
    <!-- 入口文件main.ts -->
    <script type="module" src="/src/main.ts"></script>
</body>

</html>

11.在依赖文件package.json中配置启动命令或者打包命令

{
  "name": "my-project-name",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "vite --mode dev",
    "test": "vite --mode test",
    "prod": "vite --mode prod",
    "build": "vite build",
    "tests": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@types/node": "^20.2.5",
    "@vitejs/plugin-vue": "^4.2.3",
    "typescript": "^5.1.3",
    "vite": "^4.3.9",
    "vue": "^3.2.36",
    "vue-router": "^4.2.2",
    "vuex": "^4.1.0"
  }
}

12. 启动项目

最后,执行以下命令启动项目:

npm run dev

以上命令启动 Vite,会自动打开一个浏览器窗口,并显示你的应用。

至此,你已经成功地搭建了一个企业级 Vue3 + Vite2 + TypeScript4 框架。文章来源地址https://www.toymoban.com/news/detail-476499.html

到了这里,关于Vue3 + Vite2 + TypeScript4搭建企业级项目框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3+vite2动态绑定图片优雅解决方案

    优雅解决方案在最下面,小伙伴们儿可以直接前往 😊 在vue3+vite2项目中,我们有时候想要动态绑定资源,比如像下面的代码这样: 实际效果是这样: 我们注意到,控制台的报错信息 GET http://127.0.0.1:5173/1.jpg 404 (Not Found) GET :表示向服务器请求资源的方式。 http://127.0.0.1:5173

    2024年02月11日
    浏览(68)
  • Vite4+Typescript+Vue3+Pinia 从零搭建(3) - vite配置

    项目代码同步至码云 weiz-vue3-template 关于vite的详细配置可查看 vite官方文档,本文简单介绍vite的常用配置。 项目初建后, vite.config.ts 的默认内容如下: 比如,修改 App.vue : 根目录下新建 .env 、 .env.development 、 .env.production 三个文件。 .env 文件内新增内容: .env.development 文件内

    2024年02月05日
    浏览(105)
  • Vite4+Typescript+Vue3+Pinia 从零搭建(4) - 代码规范

    项目代码同步至码云 weiz-vue3-template 要求代码规范,主要是为了提高多人协同和代码维护效率,结合到此项目,具体工作就是为项目配置 eslint 和 prettier 。 安装 EditorConfig for VS Code 插件,根目录下新建 .editorconfig 文件,增加以下配置 如果是非windows系统, end_of_line 设置为 cr 安

    2024年02月05日
    浏览(104)
  • Vite4+Typescript+Vue3+Pinia 从零搭建(2) - ts配置

    项目代码同步至码云 weiz-vue3-template 关于tsconfig的配置字段可查看其他文档,如 typeScript tsconfig配置详解 文件修改如下: 修改文件如下: 新建文件夹 types ,用来存放类型定义。比如新建 index.d.ts : 后续也可以新增其他文件,比如 global.d.ts 存放全局定义, router.d.ts 存放路由定

    2024年02月05日
    浏览(87)
  • Vite4+Typescript+Vue3+Pinia 从零搭建(7) - request封装

    项目代码同步至码云 weiz-vue3-template 基于 axios 封装请求,支持多域名请求地址 utils 目录下新建 request 文件夹,并新建 index.ts 、 request.ts 和 status.ts 文件。 此时,eslint会报 switch 前面的空格错误,需要修改 .eslintrc.cjs 里的 indent ,修改后,错误消失。 src 目录下新建 api 文件夹,

    2024年02月04日
    浏览(93)
  • Vite4+Typescript+Vue3+Pinia 从零搭建(5) - 路由router

    项目代码同步至码云 weiz-vue3-template Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。 在 src/view 下新建 home.vue 和 login.vue ,内容如下: login.vue 里修改下对应name即可 index.ts 作为路由入口, static.ts 作为静态路由, modules 内还可以

    2024年02月05日
    浏览(70)
  • Vite4+Typescript+Vue3+Pinia 从零搭建(6) - 状态管理pina

    项目代码同步至码云 weiz-vue3-template pina 是 vue3 官方推荐的状态管理库,由 Vue 核心团队维护,旨在替代 vuex。pina 的更多介绍,可从 pina官网 查看 更简洁直接的 API,提供组合式风格的 API 支持模块热更新和服务端渲染 对TS支持更为友好 src目录下新建store文件夹,并新建index.t

    2024年02月05日
    浏览(83)
  • 快速搭建Electron+Vite3+Vue3+TypeScript5脚手架 (无需梯子,快速安装Electron)

    Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发经验(这段话是来自官网)。 根据vite官网文档 项目创建完成后进

    2024年02月02日
    浏览(104)
  • 【vue3-element-admin 】基于 Vue3 + Vite4 + TypeScript + Element-Plus 从0到1搭建后台管理系统(前后端开源)

    vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,技术栈为 Vue3 + Vite4 + TypeScript + Element Plus + Pinia + Vue Router 等当前主流框架。 相较于其他管理前端框架,vue3-element-admin 的优势在于 一有一无 (有配套后端、无复杂封装): 配套完整 Java 后

    2023年04月26日
    浏览(84)
  • 【vue3-element-admin 】基于 Vue3 + Vite4 + TypeScript + Element-Plus 从0到1搭建后台管理系统(前后端开源@有来开源组织)

    vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,技术栈为 Vue3 + Vite4 + TypeScript + Element Plus + Pinia + Vue Router 等当前主流框架。 相较于其他管理前端框架,vue3-element-admin 的优势在于 一有一无 ( 有 配套后端、 无 复杂封装): 配套完整 J

    2023年04月21日
    浏览(260)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包