node.js环境安装以及Vue-CLI脚手架搭建项目教程

目录

▐ vue-cli 搭建项目的优点

▐ 安装node.js环境

▐ 搭建vue脚手架项目

▐ 项目结构解读

▐ 常用命令

▐ 创建组件

▐ 组件路由 


 vue-cli 搭建项目的优点


传统的前端项目架构由多个html文件,且每个html文件都是相互独立的,导入外部组件时需要在每个html文件中导入,比较麻烦,且都需要我们自己去官网下载。

而现在的前端项目搭建是在一个node环境中构建项目。node类似于我们后端的maven,是一个前端的开发环境。并通过使用vue-cli脚手架搭建项目,将前端改变为一个单页面架构,即一个项目中只有一个html文件,只需配置一次。此时,一个.vue文件不是一个单独的页面,而是一个组件,需要显示不同内容时,只需要切换不同的vue组件即可,每一个组件都需要注册并为其定义一个地址,这样在html文件中就可以对不同的vue组件进行切换。

但基于vue-cli(脚手架) 前提是需要安装一个node.js,它可以为前端开发提供服务功能。

 安装node.js环境


下载地址如下:

node.js官网地址icon-default.png?t=N7T8https://nodejs.org/en/download

选择版本并进行下载,如图所示:  (我选择的是 v16.20.2)

➱ 找到下载位置并进行安装。

按如下步骤安装:

 在终端进行测试,输入 node -v 和 npm -v 指令,若如下图所示,则表明node.js环境安装成功。

至此,node.js这么个前端开发环境安装完毕,接下来让我们开始学习搭建一个vue脚手架项目 !

 搭建vue脚手架项目


➱ 在HBuilderX中创建一个vue项目,注意这里以vue2为例选择的是vue项目(2.6.10)

创建好之后在vue项目的终端通过 npm run serve 命令运行启动项目

启动成功后,会出现访问项目地址: http://127.0.0.1:8080/ 

除了通过输入命令运行,也可以直接右键我们的项目---选择外部命令---选择npm run serve 

 若​打开后如图所示出现HelloWorld界面,表明node环境安装和项目创建都没有问题

▐ 项目结构解读


​ ​

 常用命令


 ​•  npm run serve

该命令用来运行项目,在创建项目中有演示.

 ​•  Ctrl + C 

在终端Ctrl+C,选择是否结束运行项目

 ​•  npm install

下载并安装项目依赖,即node_modules 。由于我们项目的大小90%都是项目依赖所占用,所以通常在给别人发送我们的代码时不用发送node_modules文件夹,对方在接收后通过在终端输入npm install命令进行手动下载项目依赖。

在下载之前需要先删除 package-lock.json 文件 

如果package-lock.json 文件删除后仍然出现,可以在终端输入命令:

npm config set package-lock false

 ​•  npm run build

​ 用来打包项目,生成一个dist文件夹 ,类似于maven的打包功能

▐ 创建组件


➱ 组件模版格式

<template><!-- 我们之前的html代码写在<template>标签中 --><div><!-- 组件中必须有一个跟标签 -->	</div>
</template><script>// 这里不能new vue对象,要先导出组件(export)export default{data(){return{}},methods:{}}
</script><style>/* css内容 */
</style>

▐ 组件路由 


简单理解:组件路由就是组件之间可以相互切换。

详细概念:Vue组件路由是指在Vue.js应用中,通过定义和管理路由来控制页面之间的跳转和展示。Vue组件路由可以使用Vue Router插件来实现,通过定义路由规则和对应的组件,可以实现不同路由路径对应不同的组件展示。

在Vue组件路由中,通常使用<router-link>组件来创建导航链接,<router-view>组件来展示对应的组件内容。可以通过路由参数、动态路由、嵌套路由等方式实现不同场景的页面导航和展示逻辑。

在终端下载router组件

在终端输入命令:npm i vue-router@3.5.3

npm i vue-router@3.5.3

下载成功后在项目的package.json文件中会添加 "vue-router" : "^3.5.3" ,表明下载安装成功。

 ➱ 在src目录下创建一个router包,并创建一个index.js文件

在index.js中配置路由

我这里创建了三个vue组件,分别是Index.vue、Login.vue、Reg.vue。要实现组件路由需要先在index.js中导入这三个组件,并为其定义一个访问地址,其通常由path和component两个部分组成,path用来定义component所绑定的组件地址。component后的组件名必须和import后的名字对应相同。

import Vue from 'vue';
// 导入路由
import router from 'vue-router'; 
// 导入其他组件
import Index from '../Index.vue'; /* 导入组件 */
import Login from '../Login.vue'; /* 导入组件 */
import Reg from '../Reg.vue';     /* 导入组件 */Vue.use(router);/* 定义组件路由 */
var rout = new router({routes: [{path: "/",component: Index},{path: '/index',component: Index},{path: '/login',component: Login},{path: '/reg',component: Reg}]
});
//导出路由对象
export default rout;

这里我们默认首次启动项目访问的是Index.vue组件,所以在Index.vue组件中使用<router-link>组件来创建Reg.vue和Login.vue组件的导航链接

 在main.js中配置路由

import router from './router/index.js';
Vue.use(router);new Vue({
el: '#app',
router,
render: h => h(App)
})

配置完成后的main.js完整代码如图:

➱ 最后通过<router-view>组件来展示对应的组件内容

通过以上设置,当用户点击不同的导航链接时,会根据路由规则展示对应的组件内容,从而实现页面之间的切换和展示逻辑。

Vue组件路由能够有效管理页面之间的关系,帮助开发者更好地构建单页面应用。



▐ 结语  

🎈到这里又要和大家说再见了,本篇文章带大家学习了node.js前端开发环境的安装以及如何使用vue脚手架搭建前端项目🎈希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力🎈如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见🎈

海漫浩浩,我亦苦作舟!大家一起学习,一起进步!    本人微信:g2279605572 🎈

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

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

相关文章

【STM32】中断应用概述

前面我们知道在手册中有一个中断向量表&#xff0c;初步了解了中断的概念。 1.NVIC简介 NVIC是嵌套向量中断控制器&#xff0c;控制着整个芯片中断相关的功能&#xff0c;它跟内核紧密耦合&#xff0c;是内核里面的一个外设。 在固件库中&#xff0c;NVIC的结构体定义可谓是…

【第27章】Vue实战篇之用户头像修改

文章目录 前言一、界面搭建二、头像回显三、头像上传1. 自动上传1.1 表单1.2 事件 2. 更新用户头像2.1 调用接口2.2 界面代码2.3 事件代码 总结 前言 这里来完成修改用户头像的功能。 一、界面搭建 <script setup>import { Plus, Upload } from element-plus/icons-vue…

RabbitMQ的高可用机制有了解过嘛

面试官&#xff1a;RabbitMQ的高可用机制有了解过嘛 候选人&#xff1a; 嗯&#xff0c;熟悉的~ 我们当时项目在生产环境下&#xff0c;使用的集群&#xff0c;当时搭建是镜像模式集群&#xff0c;使用了3台机器。 镜像队列结构是一主多从&#xff0c;所有操作都是主节点完成&a…

Listary——最好用的电脑搜索文件软件

简易版&#xff1a; https://www.listary.com/download-completion?versionstable 完整功能版&#xff1a; Microsoft PowerToys | Microsoft Learn

android——解决bug的流程以及细节

目录 心态 一、如何定位到有问题的bug代码 (1)搜索大法 (2)log输出大法 (3)profiler查看大法 (4)万能法找到页面 二、解决棘手bug的步骤 (1)先看再想最后动手 (2)改变现状 (3)是技术问题还是业务问题 (4)张张嘴远胜于动动手 (5)bug解决不了&#xff0c;那就解决提出…

华为仓颉编程语言震撼发布!Hello Cangjie!

引言 2024 年度华为开发者大会&#xff08;HDC&#xff09;在 6 月 21 日拉开帷幕&#xff0c;鸿蒙 NEXT&#xff08;HarmonyOS NEXT&#xff09;操作系统在万众瞩目中横空出世。 华为常务董事、终端 BG 董事长余承东激动地表示 &#xff0c;从 2019 年 8 月 9 日至今共 1778 天…

创新、引领、发展——SAMPE中国2024年会在京盛大开幕

绿树阴浓夏日长&#xff0c;在这个色彩缤纷的季节&#xff0c;SAMPE中国2024年会暨第十九届国际先进复合材料制品原材料、工装及工程应用展览会在中国国际展览中心&#xff08;北京朝阳馆&#xff09;隆重开幕。新老朋友共聚一堂&#xff0c;把酒话桑麻。 为期4天的国际学术会…

【FFmpeg】AVPacket结构体

【FFmpeg】AVPacket结构体 1.AVPacket结构体的定义 示例工程&#xff1a; 【FFmpeg】调用ffmpeg库实现264软编 【FFmpeg】调用ffmpeg库实现264软解 【FFmpeg】调用ffmpeg库进行RTMP推流和拉流 【FFmpeg】调用ffmpeg库进行SDL2解码后渲染 流程分析&#xff1a; 【FFmpeg】编码链…

Cython 是什么

Cython 是一个 Python 编译器&#xff0c;它将 Python 代码编译成 C 代码。这意味着您可以使用 Python 的语法来编写代码&#xff0c;但通过 Cython 编译后&#xff0c;它将以接近 C 语言的速度运行。 特点 静态类型&#xff1a;Cython 提供了静态类型检查&#xff0c;这意味着…

不出网上线CS的各种姿势(内网横向)

情况一&#xff1a;存在一台中转机器 存在一台中转机器&#xff0c;这台机器出网&#xff0c;这种是最常见的情况。 经常是拿下一台边缘机器&#xff0c;其有多块网卡&#xff0c;用于连接内外网&#xff0c;内网机器都不出网。这种情况下拿这个边缘机器做中转&#xff0c;就…

分享几个小红书获取笔记详情API接口调用实例

item_get_video-获得小红书笔记详情 smallredbook.item_get_video 公共参数 名称类型必须描述keyString是调用key&#xff08;API支持测试&#xff0c;获取测试key&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[i…

react 父子组件的渲染机制 优化手段

**优化后** 优化思路&#xff1a;将使用了state的组件拆分为一个子组件&#xff0c;state在子组件中使用(将state下发到子组件)&#xff0c;state变化时仅当前组件重渲染。// 优化后写法 const Component () > { return ( ) } const ButtonWithDialog () > { const […

HTML(14)——结构伪类选择器和伪元素选择器

结构伪类选择器 作用&#xff1a; 根据元素的结构关系查找元素 选择器说明E:first-child查找第一个E元素E:last-child查找最后一个E元素E:nth-child(N)查找第N个E元素(第一个元素N值为1) 例如&#xff1a;查找第一个li标签&#xff0c;将背景改为绿色 <style> li:fir…

【OpenGL基础教程】OpenGL的介绍

文章目录 前言可编程管线(核心模式)状态机总结 前言 在计算机图形学领域&#xff0c;OpenGL&#xff08;Open Graphics Library&#xff09;是一个标准&#xff0c;它定义了一套跨语言、跨平台的编程接口。它用于渲染2D、3D矢量图形。这个接口由近350个不同的函数调用组成&…

Android C++系列:C++最佳实践5const

1. 背景 在Java中我们定义常量通常用final static TYPE variableName = xxx来实现,在C语言中我们通常用预编译宏来实现:#define MAX 100,在C++中虽然我们仍可以使用预编译宏,但是已经不推荐这么干了。在Effective c++ 的条款1中:提到“尽量用编译器而不用预处理”,因为#…

周报 | 24.6.17-24.6.23文章汇总

为了更好地整理文章和发表接下来的文章&#xff0c;以后每周都汇总一份周报。 天才程序员周弈帆 | Stable Diffusion 解读&#xff08;三&#xff09;&#xff1a;原版实现源码解读(篇幅略长&#xff0c;建议收藏&#xff01;)-CSDN博客 周报 | 24.6.10-24.6.16文章汇总-CSDN…

APP启动流程

文章目录 主要构成详细启动流程参考链接 主要构成 App的启动流程主要涉及几个关键步骤和组件的交互&#xff0c;包括Launcher进程、ActivityManagerService&#xff08;AMS&#xff09;、Zygote进程、以及App进程本身。以下是详细的启动流程&#xff1a; 用户操作&#xff1a;…

[职场] 怎么写个人简历模板 #其他#知识分享

怎么写个人简历模板 怎么写个人简历模板1 姓名&#xff1a;xxx 性别&#xff1a;x 年龄&#xff1a;x岁 婚姻状况&#xff1a;x 最高学历&#xff1a;xx 政治面貌&#xff1a;xx 现居城市&#xff1a;xx 籍贯&#xff1a;xx 联系电话&#xff1a;xxxxxx 电子邮箱&#xff1a;xx…

SPN-PLMN运营商名称更新的一些规则及代码逻辑

规则简介 EONS也是更新PLMN,而不是SPN,SPN都是依据卡信息。 在MTK平台上,提供lookupOperatorName逻辑,根据SPN/EONS/NITZ刷新运营商名称显示内容,也可以自定义优先级。 流程接口 [SST] refreshSPN 更新SPN => Note:MTK源码是通过lookupOperatorName,客制化加入con…

vue的学习之路(Axios 基本使用)

<script src"js/axios.min.js"></script> 3、在页面中引用 4、发送异步请求 url?xxx rest请求【GET,POST,DELETE,PATCH】 5、准备一个SpringBoot的控制层与axios进行交互 实体类 public class User { private Integer id; private String user…