VisualStudioCode 创建Vue 3.0 项目

https://vitejs.cn/guide/#%E6%90%AD%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA-vite-%E9%A1%B9%E7%9B%AE
第一步
npm init @vitejs/app
第二部
npm install
第三步 启动
npm run dev
这时会发现项目中有多处报红线,需要设置

解决方法:

1,首先检查html片段没有语法错误的话,就是一个检查语法格式的插件"vetur"引起的。

2,解决方法是:vscode -> 首选项 -> 设置 -> 搜索 (vetur),将vetur.validation.template 设置为 false 就可以解决问题了。

以解决问题了。

33bceb0bf392b265d67ca628c3da82d.png

不要使用Vetur 插件,而是使用Vue Language Features(Volar) 所有的报错都消失了

 

//解决vite   use `--host` to expose
 server:{
    host:'0.0.0.0',//解决vite   use `--host` to expose
    port:8080,
    open:true
  }

 运行自动打开需要安装

 

 

 

 //vite 配置别名 npm install @types/node --save-dev
  resolve:{
    alias:[
      {
         find:'@',
         replacement:resolve(__dirname,'src')
      }
    ]
  }
 
整体结构
复制代码
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  server:{
    host:'0.0.0.0',//解决vite   use `--host` to expose
    port:8080,
    open:true
  },
  //vite 配置别名 npm install @types/node --save-dev
  resolve:{
    alias:[
      {
         find:'@',
         replacement:resolve(__dirname,'src')
      }
    ]
  }
})
复制代码

 

 

配置路由

npm install vue-router@4

然后在 src 文件下创建 router 文件夹
再在router 文件夹下创建 index.ts
内容如下
复制代码
import {createRouter,createWebHistory,RouteRecordRaw} from 'vue-router'
import Layout from '@/components/HelloWorld.vue'
const routes:Array<RouteRecordRaw>=[
    {
        path:'/',
        name:'home',
        component:Layout
    }
]
//创建
export  default  createRouter({
    history:createWebHistory(),
    routes
})
复制代码

 

再到main.ts 中使用路由

import router  from './router'
createApp(App).use(router).mount('#app')
 
 
然後在:App.vue 中添加
复制代码
<script setup lang="ts">
// This starter template is using Vue 3 <script setup> SFCs
// Check out https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup
import HelloWorld from './components/HelloWorld.vue'
</script>

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


<style>

</style>
复制代码

 

 
 
安装  Vuex

npm install vuex@next --save
在src 目录下建立store 然后在下面再新建index.ts

复制代码
import { InjectionKey } from 'vue'
import { createStore, useStore as baseUseStore, Store } from 'vuex'

export interface State {
  count: number
}

export const key: InjectionKey<Store<State>> = Symbol()

export const store = createStore<State>({
  state: {
    count: 0
  },
  mutations:{
      setCount(state:State,count:number){
          state.count=count;
      }
  },
  getters:{
      getCount(state:State){
          return state.count;
      }
  }
})

// 定义自己的 `useStore` 组合式函数
export function useStore () {
  return baseUseStore(key)
}
复制代码

 





安装 eslint
npm install --save-dev eslint eslint-plugin-vue
在根目录下创建文件 .eslintrc.js

复制代码
module.exports = {
    root:true,
    parserOptions:{
        sourceType:'module'
    },
    parser:'vue-eslint-parser',
    extends: ['plugin:vue/vue3-essential','plugin:vue/vue3-strongly-recommended','plugin:vue/vue3-recommended'],
    env:{
        browser:true,
        node:true,
        es6:true
    },
    rules: {
        'no-console':'off',
        'comma-dangle':[2,'never']//禁止使用拖尾逗号
    }
}
复制代码

 

安装 css 的预处理 sass

npm install -D sass sass-loader

 

 

设置Index.html 的页面样式

复制代码
<style>
    html,body,#app{
        margin: 0;
        padding: 0;
        border: 0;
        border-collapse: collapse;
        border-spacing: 0;
        list-style: none;
        height: 100%;
    }
</style>
复制代码

 

tsconfig.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "compilerOptions": {
    "target": "esnext",
    "useDefineForClassFields": true,
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "lib": ["esnext", "dom"],
    "skipLibCheck": true,//解决打包报 'vue-tsc --noEmit && vite build'的错,忽略所有的声明文件(*.d.ts)的类型检查
    "baseUrl": ".", // 用于设置解析非相对模块名称的基本目录,相对模块不会受到baseUrl的影响
    "paths": { // 用于设置模块名到基于baseUrl的路径映射
        "@/*":["src/*"]
    },
    "types": ["element-plus/global"]
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  "references": [{ "path": "./tsconfig.node.json" }],
  "exclude": ["node_modules"]//ts 排除的文件
}

 

1
<br>

 

 
首先检查html片段没有语法错误的话,就是一个检查语法格式的插件"vetur"引起的。
 
posted @   LuoCore  阅读(486)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示