创建项目

采用 vite 作为前端项目的打包,构建工具

npm init vite@latest

按提示操作

cd 项目目录
npm install
npm run dev

补充说明:

  • npm init vite@latest:使用vite进行项目的初始化,不仅仅支持Vue3还支持其他的语言如React,使用它来初始化配置很少很快
    • 其实还可以使用npm init vue@latest,这依旧是使用vite来构建Vue3项目但是它是为Vue量身订造,在初始化的时候我们可以很方便的勾选导入常用的依赖包
  • 每一个初始化后的前端项目或者从GitHub拉取下来的项目都需要先执行npm install完成项目的初始化(其实就是按照package.json中的配置进行初始化引入相关的依赖包)
  • npm run dev执行package.json中定义的脚本中对应的dev命令,其实一般默认就是开发调试模式启动项目;当项目完成后我们一般执行npm run build命令
  • 初始化和启动项目后如果我们想要引入一些新的技术和三方库,我们需要手动执行npm install 具体的库和版本,之后就能在项目中导入、注册和使用这些技术

编码 IDE

推荐采用微软的 VSCode 作为开发工具,到它的官网 Visual Studio Code - Code Editing. Redefined 下载安装即可

image-20220911090418621

要对.vue做语法支持,还要安装一个 Volar 插件

image-20220911090756694

安装 devtools

devtools 插件网址:https://devtools.vuejs.org/guide/installation.html
这是一款浏览器插件,方便在浏览器调试Vue程序

image-20220815141648040

修改端口

打开项目根目录下 vite.config.ts

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

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  server: {
    port: 7070
  }
})

配置代理

为了避免前后端服务器联调时, fetch、xhr 请求产生跨域问题,需要配置代理,同样是修改项目根目录下 vite.config.ts

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

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  server: {
    port: 7070,
    proxy: {
      '/api': {
        target: 'http://localhost:8080',
        changeOrigin: true
      }
    }
  }
})

项目结构

index.html
package.json
tsconfig.json
vite.config.ts
├─public
└─src
    ├─assets
    ├─components
    ├─model
    ├─router
    ├─store
    └─views
  • index.html 为主页面
  • package.json npm 配置文件
  • tsconfig.json typescript 配置文件
  • vite.config.ts vite 配置文件
  • public 静态资源
  • src/components 可重用组件
  • src/model 模型定义
  • src/router 路由
  • src/store 共享存储
  • src/views 视图组件

关于Views和component

在 Vue 3 中,views 和 components 文件夹的区别主要是语义上的区别。

views 文件夹中通常存放的是页面级别的组件,即负责显示特定页面内容的组件。 例如,一个购物网站可能有一个商品列表页面和一个商品详情页面,那么每个页面可能都需要一个独立的组件来显示页面内容,这些组件就可以放在 views 文件夹中。

components 文件夹中通常存放的是通用或复用的组件,即可以在多个页面中使用的组件。 例如,一个购物网站可能有多个页面都需要显示商品列表,那么商品列表组件就可以放在 components 文件夹中,方便在多个页面中复用。

当然,这只是一个通用的约定,具体的组织方式还要根据项目实际情况来决定。

简单理解

你可以把 Views 看作是页面级别的组件,可能由多个子组件组成。而 Components 则是被多个页面或其他组件复用的组件,它们通常不包含业务逻辑,只关注 UI 展示和交互。在 Vue 3 中,这种组件分类方式通常被称为“组合式 API”,它鼓励把组件拆分成更小的、更可复用的部分,并以组合的方式组装起来。