当前位置: 首页 > news >正文

vue项目开发流程

vue项目开发流程

环境配置

asdf plugin add nodejs
asdf install nodejs 16.20.2

创建项目

npm create vite@latest my-vue-app -- --template vue
npm install 
npm run dev

修改调试端口

修改vite.config.js,修改如下所示,添加server的host和port。

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],server: {host: '0.0.0.0',port: 3000 // 设置 Vite 服务器监听的端口}
})

项目结构

  • index.html

项目入口是index.html,里面有一个app的div,就是vue里面的app,这个app指定了要运行的js入口,也就是main.js。

<!doctype html>
<html lang="en"><head><meta charset="UTF-8" /><link rel="icon" type="image/svg+xml" href="/vite.svg" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Vite + Vue</title></head><body><div id="app"></div><script type="module" src="/src/main.js"></script></body>
</html>

这个html里的内容也是可以更改的,比如这里的 标签里的内容。

  • main,js

在index.html里指定入口是main.js后,就会在main.js里初始化vue相关的东西。

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'createApp(App).mount('#app')

在这个文件里主要是把vue接口导入进来,以及导入css,然后导入App.vue,到这里入口传到到App.vue。

main.js会将vue框架mount到界面。这些一般都不需要更改,除非需要引入其他的东西。

  • App.vue

App.vue就是vue的核心开发文件,这里就是整个页面的展示,对于单页面应用来说,这个就是页面对应的代码。

<script setup>
import HelloWorld from './components/HelloWorld.vue'
</script><template><HelloWorld msg="anycode开发环境" />
</template>

vue采用组件化和模板化来开发,在开头可以引入其他的组件,这个一般是封装好的组件,放在components目录下。

比如上面的例子中就导入了HelloWorld这个组件。

然后对于这个App来说,有一个模板,这个template可以简单理解为页面的body。

然后里面会显示HelloWorld这个组件,这个时候控制权就到了./components/HelloWorld.vue。

app.vue给它传了一个msg的参数。

  • ./components/HelloWorld.vue
<script setup>
defineProps({msg: String,
})
</script><template><h1>{{ msg }}</h1><p>hello,anycode.</p>
</template>
http://www.lryc.cn/news/343224.html

相关文章:

  • 【Django学习笔记(十)】Django的创建与运行
  • 即时通讯技术文集(第37期):IM代码入门实践(Part1) [共16篇]
  • UV胶具有哪些特点和优势
  • python面试之mysql引擎选择问题
  • MT3031 AK IOI
  • UE5自动生成地形二:自动生成插件
  • 二分图(染色法与匈牙利算法)
  • ReactFlow的ReactFlow实例事件传参undefined处理状态切换
  • Dockerfile 和 Docker Compose
  • 多个文件 import 的相同模块里的对象
  • 面试经典150题——验证回文串
  • YOLOv8的训练、验证、预测及导出[目标检测实践篇]
  • 光伏远动通讯屏的组成
  • 营销H5测试综述
  • 【C++随记4】C++二进制位操作运算符
  • 风电厂数字孪生3D数据可视化交互展示构筑智慧化电厂管理体系
  • 大模型市场爆发式增长,但生成式AI成功的关键是什么?
  • leetcode LCR088.使用最小花费爬楼梯
  • 【DevOps】怎么提升Elasticsearch 的搜索性能
  • 启动任何类型操作系统:不需要检索 ISO 文件 | 开源日报 No.243
  • Linux——综合实验
  • oracle数据库用户名修改
  • 2024年开抖音小店需要多少钱?你真的知道吗?最新入驻条件及费用
  • Vue创建todolist
  • 了解Ansible Playbook
  • nginx 负载均衡、反向代理实验
  • Linux信号捕捉
  • 【Leetcode】 top100 round2 需要加强版
  • ElasticSearch知识点汇总
  • phpize +Visual Studio + MSYS2 + bison 草稿记录并未正常完成