【星海随笔】vue+vite +antd+Pinia+ve-plus

开头问一个问题,我发现有的人粉丝是点赞数的好几倍,可能和必须关注他才能阅读他的文章有关。
所以问一下怎么设置为关注才能查看该文章。

screen -ls #查看 id 列表
screen -S <session_name> # 创建一个会话
screen -R <session_id> # 根据会话 ID 访问会话
Ctrl + a + d # 将进程后台执行
exit # 退出
vite

vite不需要专门的安装,有的npm和yarn 一般就会有vite了,这个是 vue3 携带的功能, 增加了很多 XML 类型功能。可前端区域更新,极大的减少了性能消耗。

yarn create vite

cd vite-project              # 切换到项目目录
yarn                         # 安装项目的全部依赖
yarn dev                     # 启动服务

yarn会读取当前项目的package.json文件中的命令配置,找到真正的命令并执行。
Vue 3项目的package.json文件中的命令配置如下。

{
  "name": "vite-project-demo",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "vue": "^3.4.29"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^5.0.5",
    "vite": "^5.3.1"
  }
}

dev是vite的别名,build是vite build的别名,preview是vite preview的别名
实际执行的命令是yarn vite。

使用yarn create命令创建项目
yarn create vite<项目名称>--template<模板名称>
yarn create vite hello-vite --template vue
nginx配置
server {
        listen 80;
        server_name vue.example.com;

    location / {
        proxy_pass http://localhost:5173/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
}

下面简要介绍Vue 3项目的目录结构中各个目录和文件的作用,具体如下。

• vscode:存放VS Code编辑器的相关配置。

• node_modules:存放项目的各种依赖和安装的插件。

• public:存放不可编译的静态资源文件,当进行项目构建时,该目录下的文件会被复制到dist目录,该目录下的文件需要使用绝对路径访问。

• src:源代码目录,保存开发人员编写的项目源代码。

• src\assets:存放可编译的静态资源文件,例如图片、样式文件等。该目录下的文件需要使用相对路径访问。

• src\components:存放单文件组件,即.vue文件。

• src\components\HelloWorld.vue:一个名称为HelloWorld的单文件组件。

• src\App.vue:项目的根组件。

• src\main.js:项目的入口文件,用于创建Vue应用实例。

• src\style.css:项目的全局样式表文件。

• gitignore:向Git仓库上传代码时需要忽略的文件列表。

• index. html:默认的主渲染页面文件,同时也是页面的入口文件。

• package.json:包配置文件。

• README.md:项目使用说明文件。

• vite.config.js:存放Vite的相关配置。

• yarn.lock:存储每一个依赖项的安装版本,在使用yarn安装、升级、卸载依赖时,会自动更新yarn.lock文件。

此外,当执行了yarn build命令后,在项目目录中会出现dist目录,该目录中保存的是项目构建后的文件。

Vue 3项目的运行过程

使用Vite构建Vue 3项目后,当执行yarn dev命令启动服务时,项目就会运行起来,该项目会通过src\main.js文件将src\App.vue组件渲染到index.html文件的指定区域。

src\App.vue文件

Vue 3项目是由各种组件组成的,src\App.vue文件是项目的根组件。在根组件中可以引用其他组件,从而显示其他组件的内容。

index.html文件

index.html文件是页面的入口文件,该文件中预留了用于被src\main.js文件中的Vue应用实例所控制的区域。

src\main.js文件

src\main.js文件是项目的入口文件,该文件创建了Vue应用实例。Vue应用实例是Vue项目工作的基础,每个Vue项目都是从创建Vue应用实例开始的。

在 App.vue 文件会被作为一个小的组件进行调用,当你使用 Vue CLI、Vite 或其他现代前端构建工具时,这些工具通常会自动为你设置 Vue 实例。这些工具会在项目的入口文件(如 main.js 或 main.ts)中创建 Vue 实例,并将 App.vue 作为根组件挂载到 DOM 上。
这个组件可以在 Vue 应用的其他部分被引入和使用。


antd

yarn cache clean
yarn add antd
yarn add babel-plugin-import --dev

Pinia

npm install pinia

在基础vue+yarn项目下修改入口文件

该文件的在 index.html 中导入的vue入口文件

index.html
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.js"></script>
  </body>

main.js

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'

import { createPinia } from 'pinia'

const app = createApp(App)
const pinia = createPinia()
app.use(pinia)
app.mount('#app')  // 只保留这一次挂载
//
//createApp(App).mount('#app')
//

在项目的src/stores(或你选择的任何目录)中,你可以定义多个store来管理不同的状态。每个store都是一个独立的JavaScript或TypeScript文件,通过defineStore函数来定义。

// src/stores/user.js  
import { defineStore } from 'pinia'  
 
export const useUserStore = defineStore('user', {  
  state: () => ({  
    name: 'John Doe',  
    age: 30  
  }),  
  getters: {  
    // 定义getters  
  },  
  actions: {  
    // 定义actions  
  }  
})

如何使用

// 例如在 src/components/SomeComponent.vue 中  
<script setup>  
import { useUserStore } from '@/stores/user'  
  
const userStore = useUserStore()  
  
// 现在你可以使用 userStore 了  
</script>

设置@别名

@ 符号通常被配置为一个别名(alias),它指向 src 目录
如果 Vue 项目的根目录是 /my-vue-project,那么 __dirname 将是 /my-vue-project
如果在项目外执行yarn dev 默认将会报错
error Couldn’t find a package.json file in “/root/vue/vite”

// vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

import path from 'path'; // 导入 path 模块
//

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'), // 使用 path.resolve 来设置 @ 别名
    },
  },
});

等待安装完成后,Pinia及其依赖项将被添加到项目的node_modules目录,并在package.json文件中列出。

vite项目中,入口为 index.html ,后衔接 main.js 后嵌入 xxxx.vue

App.vue

其中的 / 符号在 vite 中默认是 public 目录

<script setup>
import HelloWorld from './components/HelloWorld.vue'
//<!--import 2223 from './components/2223.vue'-->
</script>

<template>
  <div>
    <a href="https://vitejs.dev" target="_blank">
      <img src="/vite.svg" class="logo" alt="Vite logo" />
    </a>
    <a href="https://vuejs.org/" target="_blank">
      <img src="./assets/vue.svg" class="logo vue" alt="Vue logo" />
    </a>
  </div>
  <HelloWorld msg="Vite + Vue" />
</template>

<style scoped>
.logo {
  height: 6em;
  padding: 1.5em;
  will-change: filter;
  transition: filter 300ms;
}
.logo:hover {
  filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vue:hover {
  filter: drop-shadow(0 0 2em #42b883aa);
}
</style>

ve-plus
npm install ve-plus
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值