• Vue3 + Vite + Ts + Router搭建项目


    1、新建文件夹

            从新建的文件夹cmd进入终端

            

    2、安装vite—依据vite创建vue3项目
            2.1、运行
    npm init vite@latest
    
            2.2.1、输入项目名称

            2.2.2、选择vue

    2.2.3、选择TypeScript语言

    3、安装依赖项
            3.1、进入刚才创建的文件夹
    cd vite-project
            3.2、查看镜像
    1. #查看当前源
    2. npm config get registry
    3. #更换为国内镜像
    4. npm config set registry=http://registry.npm.taobao.org/
            3.3、启动项目
    npm run dev

    注意:启动项目时候报错:No package.json (or package.yaml, or package.json5) was found in "E:\Miss D\mars3dMy".

    原因:启动项目的根目录没找到,检查下终端打开是否错误

    4、配置基础
            4.1、pnpm下载东西会更快一些
    npm in pnpm
            4.2、配置typeScript依赖项
    npm install @types/node --save-dev
    
            4.3、修改vite.config.ts配置文件代码
    1. import { defineConfig } from 'vite'
    2. import vue from '@vitejs/plugin-vue'
    3. import { resolve } from 'path'
    4. export default defineConfig({
    5. plugins: [vue()],
    6. //解决“vite use `--host` to expose”
    7. base: './', //不加打包后白屏
    8. server: {
    9. host: '0.0.0.0',
    10. // port: 8080,
    11. open: true
    12. },
    13. resolve:{
    14. //别名配置,引用src路径下的东西可以通过@如:import Layout from '@/layout/index.vue'
    15. alias:[
    16. {
    17. find:'@',
    18. replacement:resolve(__dirname,'src')
    19. }
    20. ]
    21. }
    22. })

    注意:出现以下红色波浪线

    解决:在tsconfig.node.json中修改配置

            4.4、安装路由
    npm install vue-router@4
    
             4.4.1、在src目录下新建router文件夹,在router里创建index.ts文件

             4.4.2、index.ts中配置路由
    1. import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
    2. import Layout from '../components/HelloWorld.vue'
    3. const routes: Array<RouteRecordRaw> = [
    4. {
    5. //路由初始指向
    6. path: '/',
    7. name: 'HelloWorld',
    8. component:()=>import('../components/HelloWorld.vue'),
    9. }
    10. ]
    11. const router = createRouter({
    12. history: createWebHistory(),
    13. routes
    14. })
    15. export default router
            4.4.3、main.ts中挂载路由
    1. import { createApp } from 'vue'
    2. import './style.css'
    3. import App from './App.vue'
    4. import router from './router'
    5. const app = createApp(App);
    6. app.use(router).mount('#app')

    注意:会出现红色波浪

    原因:1、volar 插件没开takeover模式
                   去看volar插件介绍,开takeover模式
                2、volar未选择tyscript最新版本

    解决:1、在插件搜索框内输入 typescript (不要删除 @builtin 前缀)

              

             2、点击第一个的右下角的小齿轮,然后选择禁用

              

             3、点击需要重新加载,即可解决问题

             

    参考源文连接:vue3 报错解决:找不到模块或其相应的类型声明。(Vue 3 can not find module)-CSDN博客

            4.4.4、修改App.vue
    1. <template>
    2. <router-view>router-view>
    3. template>
    4. <style>
    5. style>
             4.4.5、保存后,运行看是否报错。如图打开了路由指向的HelloWorld.vue页面的内容就对了

    注意:打开App.vue红色波浪线报错

    解决:是因为vue3不支持vetur插件,将她禁用,使用Vue Language Features插件

    源文连接:vue3+ts+vite中 import报错:Moudle ... has no default export_poguanba的博客-CSDN博客

    5、配置ts文件采用@方式导入
    1. {
    2. "compilerOptions": {
    3. "target": "esnext",
    4. "useDefineForClassFields": true,
    5. "module": "esnext",
    6. "moduleResolution": "node",
    7. "strict": true,
    8. "jsx": "preserve",
    9. "sourceMap": true,
    10. "resolveJsonModule": true,
    11. "isolatedModules": true,
    12. "esModuleInterop": true,
    13. "lib": ["esnext", "dom"],
    14. "skipLibCheck": true,
    15. //添加---
    16. "suppressImplicitAnyIndexErrors": true, //允许字符串用作下标
    17. "ignoreDeprecations":"5.0", //高版本上句报错,此句解决。如此句报错可注释掉
    18. "baseUrl": ".",
    19. "paths": {
    20. "@/*":[
    21. "src/*"
    22. ]
    23. }
    24. //---------
    25. },
    26. "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
    27. "references": [{ "path": "./tsconfig.node.json" }],
    28. //添加
    29. "exclude":["node_modules"] // // ts排除的文件
    30. }
    6、配置css预处理器sass
    npm install -D sass sass-loader
    
    1. <style scoped lang="scss">
    2. .read-the-docs {
    3. color: #888;
    4. }
    5. </style>
     7、引入element-plus
    1. npm install element-plus --save
    2. npm install @element-plus/icons-vue // 图标
            7.1、main.ts引入
    1. import { createApp } from 'vue'
    2. import './style.css'
    3. import App from './App.vue'
    4. import router from './router'
    5. import ElementPlus from 'element-plus'
    6. import 'element-plus/dist/index.css'
    7. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
    8. import zhCn from "element-plus/lib/locale/lang/zh-cn";//国际化
    9. const app = createApp(App);
    10. app.use(ElementPlus, { locale: zhCn }).use(router).mount('#app')
    11. //全局注册图标组件
    12. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    13. app.component(key, component)
    14. }

     可能会出现问题

    8、安装pinia(状态管理,类似vue2中的vuex)
    npm install pinia
    
             8.1、main.ts引入
    1. import { createApp } from 'vue'
    2. import './style.css'
    3. import App from './App.vue'
    4. import router from './router'
    5. import ElementPlus from 'element-plus'
    6. import 'element-plus/dist/index.css'
    7. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
    8. import zhCn from 'element-plus/dist/locale/zh-cn.mjs' //国际化
    9. import { createPinia } from 'pinia'
    10. const app = createApp(App);
    11. // 实例化 Pinia
    12. const pinia = createPinia()
    13. app.use(ElementPlus,{locale: zhCn}).use(router).use(pinia).mount('#app')
    14. //全局注册图标组件
    15. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    16. app.component(key, component)
    17. }
     源文链接:详细vite创建vue3项目(vue3+vue-router+ts+vite+element-plus+pinia)-CSDN博客
  • 相关阅读:
    HCIP 实验作业(ppp实验)
    域委派攻击详解
    基于FPGA的图像坏点像素修复算法实现,包括tb测试文件和MATLAB辅助验证
    MVSNet论文笔记
    使用Docker安装Redis
    什么是关键信息基础设施及其安全保护条例
    Gitee在大数据中心的使用
    CTF之信息收集
    蓝桥杯 子矩阵 (找大小为a*b的矩阵的最大最小值的乘积,queue)
    微信安装包从0.5M暴涨到260M,为什么我们的程序越来越大?
  • 原文地址:https://blog.csdn.net/2301_76882889/article/details/134262113