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

从“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.pswp.cn/diannao/85208.shtml

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

相关文章

MQTT的Thingsboards的使用

访问云服务 https://thingsboard.cloud/ 新建一个设备 弹出 默认是mosquittor的客户端。 curl -v -X POST http://thingsboard.cloud/api/v1/tnPrO76AxF3TAyOblf9x/telemetry --header Content-Type:application/json --data "{temperature:25}" 换成MQTTX的客户…

金砖国家人工智能高级别论坛在巴西召开,华院计算应邀出席并发表主题演讲

当地时间5月20日,由中华人民共和国工业和信息化部,巴西发展、工业、贸易与服务部,巴西公共服务管理和创新部以及巴西科技创新部联合举办的金砖国家人工智能高级别论坛,在巴西首都巴西利亚举行。 中华人民共和国工业和信息化部副部…

BLE协议全景图:从0开始理解低功耗蓝牙

BLE(Bluetooth Low Energy)作为一种针对低功耗场景优化的通信协议,已经广泛应用于智能穿戴、工业追踪、智能家居、医疗设备等领域。 本文是《BLE 协议实战详解》系列的第一篇,将从 BLE 的发展历史、协议栈结构、核心机制和应用领域出发,为后续工程实战打下全面认知基础。 …

表单校验代码和树形结构值传递错误解决

表单校验代码,两种方式校验,自定义的一种校验,与element-ui组件原始的el-form表单的校验不一样,需要传递props和rules过去校验 const nextStep () > {const data taskMsgInstance.value.formDataif(data.upGradeOrg ) {elm…

vscode 配置 QtCreat Cmake项目

1.vscode安装CmakeTool插件并配置QT中cmake的路径,不止这一处 2.cmake生成器使用Ninja(Ninja在安装QT时需要勾选),可以解决[build] cc1plus.exe: error: too many filenames given; type ‘cc1plus.exe --help’ for usage 编译时…

关于数据仓库、数据湖、数据平台、数据中台和湖仓一体的概念和区别

我们谈论数据中台之前, 我们也听到过数据平台、数据仓库、数据湖、湖仓一体的相关概念,它们都与数据有关系,但他们和数据中台有什么样的区别, 下面我们将围绕数据平台、数据仓库、数据湖和数据中台的区别进行介绍。 一、相关概念…

WIN11+eclipse搭建java开发环境

环境搭建(WIN11ECLIPSE) 安装JAVA JDK https://www.oracle.com/cn/java/technologies/downloads/#jdk24安装eclipse https://www.eclipse.org/downloads/ 注意:eclipse下载时指定aliyun的软件源,后面安装会快一些。默认是jp汉化e…

通义灵码深度实战测评:从零构建智能家居控制中枢,体验AI编程新范式

一、项目背景:零基础挑战全栈智能家居系统 目标:开发具备设备控制、环境感知、用户习惯学习的智能家居控制中枢(PythonFlaskMQTTReact) 挑战点: 需集成硬件通信(MQTT)、Web服务(Flask)、前端交互(React) 调用天气AP…

【Python进阶】CPython

目录 🌟 前言🏗️ 技术背景与价值🩹 当前技术痛点🛠️ 解决方案概述👥 目标读者说明🧠 一、技术原理剖析📊 核心架构图解💡 核心作用讲解🔧 关键技术模块说明⚖️ Python实现对比🛠️ 二、实战演示⚙️ 环境配置要求💻 核心代码实现案例1:查看字节码案例…

Hive中资源优化方法的详细说明

在Hive中,资源优化的核心目标是合理分配集群资源(如内存、CPU、任务并行度等),避免资源竞争和浪费,提升查询效率。以下是资源优化的具体方法,涵盖 YARN资源配置、任务并行度、内存管理、JVM重用、推测执行 …

流媒体协议分析:流媒体传输的基石

在流媒体传输过程中,协议的选择至关重要,它决定了数据如何封装、传输和解析,直接影响着视频的播放质量和用户体验。本文将深入分析几种常见的流媒体传输协议,探讨它们的特点、应用场景及优缺点。 协议分类概述 流媒体传输协议根据…

GitHub 趋势日报 (2025年05月29日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 1864 agenticSeek 753 langflow 749 n8n 736 prompt-eng-interactive-tutorial 42…

Jenkins-Pipeline:学习笔记

Jenkins-Pipeline:学习笔记 在 DevOps 领域中,Pipeline(流水线) 是实现持续集成(CI)和持续部署(CD)的核心机制。学习 Pipeline 通常需要从以下几个方面入手,涵盖基础概念、工具使用、语法规则、实践优化等 一、Pipeline 基础概念 什么是 Pipeline? 流水线是将软件交…

内存管理 : 04段页结合的实际内存管理

一、课程核心主题引入 这一讲,我要给大家讲的是真正的内存管理,也就是段和页结合在一起的内存管理方式。之前提到过,我们先学习了分段管理内存的工作原理,知道操作系统采用分段的方式,让用户程序能以分段的结构进行编…

RAID磁盘阵列配置

RAID磁盘阵列配置 文章目录 RAID磁盘阵列配置一、磁盘管理其他相关命令1.fsck-检查文件的正确性2.dd-建立和使用交换文件3.mkswap-建立和设置SWAP交换分区 二、RAID配置 一、磁盘管理其他相关命令 1.fsck-检查文件的正确性 [rootlocalhost ~]# fsck -aC /dev/sda1 //检查文…

网站服务器出现异常的原因是什么?

网站时企业和个人用户进行提供信息和服务的重要平台,随着时间的推移,网站服务器出现异常情况也是常见的问题之一,这可能会导致网站无法正常访问或者是运行缓慢,会严重影响到用户的体验感,本文就来介绍一下网站服务器出…

LINUX528 重定向

2>&1 我的理解: 2>&1,2stderr错误输出,1stdout输出,stderr一般和stdout是分别输出(管道符只传递stdout,据元宝,stderr默认输出到终端;如果重定向符不进行2显示重定向&…

【Python高阶】面向对象

目录 🌟 前言🏗️ 技术背景与价值🩹 当前技术痛点🛠️ 解决方案概述👥 目标读者说明🧠 一、技术原理剖析📊 核心知识图谱💡 核心作用讲解🔧 关键技术模块说明⚖️ 技术选型对比🛠️ 二、实战演示⚙️ 环境配置要求💻 核心代码实现案例1:面向对象电商系统…

榕壹云医疗服务系统:基于ThinkPHP+MySQL+UniApp的多门店医疗预约小程序解决方案

在数字化浪潮下,传统医疗服务行业正面临效率提升与客户体验优化的双重挑战。针对口腔、美容、诊所、中医馆、专科医院及康复护理等需要预约或诊断服务的行业,我们开发了一款基于ThinkPHP+MySQL+UniApp的多门店服务预约小程序——榕壹云医疗服务系统。该系统通过模块化设计与开…

Vue-过滤器

过滤器 时间戳格式化 实现方式 计算属性方法过滤器 基础依赖 day.min.js 下载链接放到 相对路径 js 目录下 Computed 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>过滤器</title>…