2.从0开始搭建vue项目(node.js,vue3,Ts,ES6)

news2025/6/3 9:07:38

从“0到跑起来一个 Vue 项目”,重点是各个工具之间的关联关系、职责边界和技术演化脉络。

从你写代码 → 到代码能跑起来 → 再到代码可以部署上线,每一步都有不同的工具参与。

😺😺1. 安装 Node.js —— 万事的根基

Node.js 是 JS 的运行环境,它让 JS 能在浏览器之外运行,等于一个“JS版的JVM”。

💡 它的作用:
• 内置 V8 引擎(谷歌开发),能把 JS/TS 编译成机器码执行。
• 内置 npm(包管理器),让你方便安装和管理各种依赖(例如 axios、vue)。
• 是很多前端工具(如 Vite、Webpack、ESLint、TS 编译器)的“运行底座”。

为什么不是浏览器来跑?

因为开发阶段你写的很多东西(比如 TypeScript、Vue 组件)浏览器不认识,得先通过 Node.js 环境来“预处理”、打包、转译。

😺😺 2. 使用 npm/yarn/pnpm —— 下载各种依赖库

你需要别人写好的工具,npm 就是你下载这些工具的“快递小哥”。

比如你需要:
• vue:前端框架
• axios:发请求
• vite:构建工具
• typescript:编译 TS

你可以一行命令:

npm install vue axios vite typescript

npm 会帮你从网上(npm registry)拉取这些库及其依赖,统一放到 node_modules 目录中,并更新 package.json 文件。

😺😺 3. 初始化项目结构(通常使用 Vite 脚手架)

npm create vite@latest my-app
cd my-app
npm install

Vite 会给你搭好一个包含:
• 项目结构(src、public、vite.config.ts)
• Vue 支持(通过插件)
• TypeScript 支持
• 热更新配置
• ESM 模块支持

👉 这一步相当于“让项目有个基本形态”。

😺😺 4. 使用 Vite 运行开发环境

npm run dev

你会看到:

vite v5.0 dev server running at http://localhost:5173

这是 Vite 的“开发服务器”。但它背后做了很多事:

Vite 的作用(核心):
• 用 Node.js 启动自己(Vite 是 Node 工具)
• 在后台用 ESBuild 和 Rollup 编译项目代码(把 TS 编译成 JS、把 Vue 编译成普通模块)
• 实现浏览器原生支持的 ES Module 动态加载
• 实现 热更新(改一行代码自动刷新)

😺😺 5. Vue 框架登场:帮你写页面 + 构建交互

你最终写的,是 .vue 文件。

这里你用到了 Vue 的核心能力:
• ref() 和 reactive() 是 Vue 响应式系统(Proxy)创建的响应对象
• 会被 Vue 编译器转换为 h() 函数(虚拟 DOM)

Vue 的职责是:
• 帮你封装组件、渲染视图、处理状态更新
• 用响应式让 UI 和数据双向绑定
• 在构建阶段(由 Vite 驱动)把 .vue 文件变成纯 JS 模块供浏览器运行

😺😺6.TS和Es6语法

ES6
• 由 ECMAScript 标准组织提出。
• 提供了 let/const、箭头函数、解构、import/export 等写法。
• 需要 浏览器或 Node.js 支持 ES6,或者通过构建工具(如 Vite)转译成老版本 JS(比如 ES5)才能运行。

所以,ES6 本身不能“运行”代码,只是你写代码时用的一套规则。

TypeScript 是 JavaScript 的超集
• 加了类型系统,写起来更安全。
• 不能被浏览器或 Node.js 直接运行,必须先“编译成 JS”。
• 常和 Vite/Webpack/Babel 配合使用,最终输出纯 JS 文件。

TS 就像你写作文时加了一些注释,交稿前要删掉注释再打印出来。运行的永远是 JS。

😺😺7. 构建生产环境代码

开发完毕后,你执行:

npm run build

这时:
• Vite 会用 Rollup 把所有模块打包成一堆 JS 文件(按需拆分)
• 把 TS 编译成 JS
• 把 Vue 模板编译为 DOM 操作
• 压缩、混淆、优化体积

生成 /dist 目录,浏览器就能直接部署这些文件上线了。

🎯 整体技术链图谱总结(关系+流向)

在这里插入图片描述
在这里插入图片描述

😺😺😺小总结
Node.js 提供运行环境,npm 负责安装依赖。
Vite 是中间桥梁,把 Vue + TS + ES6 编译打包好。vue是一个框架,帮你封装组件,渲染视图,处理状态,用响应式让ui和数据双向绑定。在构建阶段 由vite驱动,把.vue变成.js在浏览器运行。开发中还会用到很多工具库,axios、vue-router、vant 等依赖,都是运行时需要的工具库,由 npm 统一管理。

下一篇 3.详细学习一下node.js的特性和底层原理
下一篇 4.vue.js的特性和底层原理,vue2 vue3的对比。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2394743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【pycharm】如何连接远程仓库进行版本管理(应用版本)

软件:Pycharm OS:Windows 一、Git基础设置 这里略过Git安装,需要可以参考:windows安装git(全网最详细,保姆教程)-CSDN博客 1. 配置Git 打开GitBash。分次输入下列命令。 git config --…

linux 1.0.7

用户和权限的含义与作用 linux中的用户和文件 用户的权限是非常重要的 而且有些程序需要使用管理员身份去执行 这些都是非常重要的 不可能让所有的人拥有所有的权限 这样的工具可以避免非法的手段来修改计算机中的数据 linux之所以安全还是权限管理做的很棒 每个登录的用户都有…

IEEE P370:用于高达 50 GHz 互连的夹具设计和数据质量公制标准

大多数高频仪器,如矢量网络分析仪 (VNA) 和时域反射仪 (TDR),都可以在同轴接口的末端进行非常好的测量。然而,复杂系统中使用的互连很少具有同轴接口。用于表征这些设备的夹具的设计和实施会对测…

Denoising Autoencoders 视频截图 DAEs简单实现 kaggle 去噪编码器

https://www.bilibili.com/video/BV1syzrYaEtw Denoising Autoencoders (DAEs) 是一种无监督学习模型,属于自动编码器(Autoencoder)的一种扩展形式。它们的目标是通过训练神经网络来学习数据的鲁棒表示(robust representation&a…

GoogLeNet网络模型

GoogLeNet网络模型 诞生背景 在2014年的ImageNet图像识别挑战赛中,一个GoogLeNet的网络架构大放异彩,与VGG不同的是,VGG用的是3*3的卷积,而GoogLeNet从1*1到7*7的卷积核都用,也就是使用不同大小的卷积核组合。 网络…

仿真科普|弥合市场需求断层,高性能仿真,“性能”与“安全”如何兼得?

2025年3月,塔塔科技(Tata Technologies)确认曾在去年遭受勒索软件组织“猎手国际”(Hunters International)的攻击,1.4TB工程数据被窃取,涉及航空发动机热障涂层工艺参数等超过 73 万份文件。 X…

Maven---配置本地仓库

目录 5. 5.1在Maven路径下新建文件夹用于本地仓库存储 5.2 复制本地仓库路径 5.3 找到配置文件路径,使用VSCode方式打开 5.4 新增一行代码 5.5 复制本地仓库路径,设置存储路径 5.1在Maven路径下新建文件夹用于本地仓库存储 5.2 复制本地仓库路径 5…

【C++ 】智能指针:内存管理的 “自动导航仪”

目录 一、引入 二、智能指针的两大特性: 1、RAII 特点: 好处: 2、行为像指针 三、智能指针起初的缺陷:拷贝问题 四、几种智能指针的介绍。 1、C98出现的智能指针——auto_ptr auto_ptr解决上述拷贝构造的问题&#xff1a…

设备制造行业项目管理难点解析,如何有效解决?

在设备制造行业,项目管理是企业运营的核心环节,直接影响项目交付效率、成本控制和盈利能力。然而,由于行业特性复杂、项目周期长、涉及部门多,企业在实际操作中常常面临诸多管理痛点。金众诚工程项目管理系统,依托金蝶…

浅谈 PAM-2 到 PAM-4 的信令技术演变

通信信令技术演进:从 PAM-2 到 PAM-4 在当今数字化高速发展的时代,数据传输需求呈爆炸式增长,行业对通信带宽的要求愈发严苛。为顺应这一趋势,通信信令技术不断革新,曾经占据主导地位的不归零(NRZ&#xff…

Protos-SIP:经典 SIP 协议模糊测试工具!全参数详细教程!Kali Linux教程!

简介 该测试套件的目的是评估会话发起协议 (SIP) 实现的实现级别安全性和稳健性。 Protos-SIP 是一款专为 SIP 协议模糊测试(Fuzzing)设计的工具,最初由 OUSPG(Oulu University Secure Programming Group)开发&#…

复数三角不等式简介及 MATLAB 演示

复数三角不等式简介及 MATLAB 演示 1. 复数三角不等式简介 复数三角不等式(Complex Triangle Inequality)是复数的一种重要性质,它类似于普通的三角不等式,但适用于复数空间。具体来说,复数三角不等式可以描述复数之…

【Doris基础】Apache Doris 基本架构深度解析:从存储到查询的完整技术演进

目录 1 引言 2 Doris 架构全景图 2 核心组件技术解析 2.1 Frontend 层(FE) 2.2 Backend 层(BE) 3 数据存储与复制机制 3.1 存储架构演进 3.2 副本复制策略 4 查询处理全流程解析 4.1 查询生命周期 5 高可用设计 5.1 F…

程序人生-hellohelloo

计算机系统 大作业 题 目 程序人生-Hello’s P2P 专 业 计算机与电子通信 学   号 2023111976 班   级 23L0504 学 生 孙恩旗     指 导 教 师 刘宏伟    计算机科…

ASP.NET Core SignalR的基本使用

文章目录 前言一、SignalR是什么?在 ASP.NET Core 中的关键特性:SignalR 工作原理简图: 二、使用步骤1.创建ASP.NET Core web Api 项目2.添加 SignalR 包3.创建 SignalR Hub4.配置服务与中间件5.创建控制器(模拟服务器向客户端发送消息)6.创建…

【C语言】讲解 程序分配的区域(新手)

目录 代码区 数据区 堆区 栈区 常量区 重点比较一下堆区与 栈区 总结: 前言: C语言程序的内存分配区域是理解其运行机制的重要部分。根据提供的多条证据,我们可以总结出C语言程序在运行时主要涉及以下五个关键内存区域: 代…

LeetCode 算 法 实 战 - - - 移 除 链 表 元 素、反 转 链 表

LeetCode 算 法 实 战 - - - 移 除 链 表 元 素、反 转 链 表 第 一 题 - - - 移 除 链 表 元 素方 法 一 - - - 原 地 删 除方 法 二 - - - 双 指 针方 法 三 - - - 尾 插 第 二 题 - - - 反 转 链 表方 法 一 - - - 迭 代方 法 二 - - - 采 用 头 插 创 建 新 链 表 总 结 &a…

从头认识AI-----循环神经网络(RNN)

前言 前面我们讲了传统的神经网络,如MLP、CNN,这些网络中的输入都被单独处理,没有上下文之间的信息传递机制,这在处理序列数据(如语音、文本、时间序列)时很鸡肋: 如何理解一句话中“前后文”的…

kafka学习笔记(三、消费者Consumer使用教程——使用实例及及核心流程源码讲解)

1.核心概念与架构 1.1.消费者与消费者组 Kafka消费者是订阅主题(Topic)并拉取消息的客户端实例,其核心逻辑通过KafkaConsumer类实现。消费者组(Consumer Group)是由多个逻辑关联的消费者组成的集合。 核心规则 同一…

鸿蒙 Form Kit(卡片开发服务)

Form Kit(卡片开发服务) 鸿蒙应用中,Form / Card / Widget 都翻译为“卡片” Form Kit(卡片开发服务)提供一种界面展示形式,可以将应用的重要信息或操作前置到服务卡片,以达到服务直达、减少跳转…