如何搭建一个vue项目(完整步骤)

搭建一个新的vue项目

  • 一、安装node环境
  • 二、搭建vue项目环境
    • 1、全局安装vue-cli
    • 2、进入你的项目目录,创建一个基于 webpack 模板的新项目
    • 3、进入项目:cd vue-demo,安装依赖
    • 4、npm run dev,启动项目
  • 三、vue项目目录讲解
  • 四、开始我们的第一个vue项目
    • 1、封装新组件
    • 2、讲讲父子组件
    • 3、使用路由搭建单页应用
    • 4、如何用less写样式
  • 五、补充
    • 1、解决vue启动后不自动访问浏览器的问题
    • 2、解决端口冲突

一、安装node环境

1、下载地址为:https://nodejs.org/en/

2、检查是否安装成功:如果输出版本号,说明我们安装node环境成功

node -v

npm -v

在这里插入图片描述

3、为了提高我们的效率,可以使用淘宝的镜像:http://registry.npmmirror.com

输入:npm install -g cnpm –registry=http://registry.npmmirror.com,即可安装npm镜像,以后再用到npm的地方直接用cnpm来代替就好了。

npm install -g cnpm –registry=http://registry.npmmirror.com

在这里插入图片描述

检查是否安装成功:

cnpm -v

在这里插入图片描述

二、搭建vue项目环境

1、全局安装vue-cli

npm install --global @vue-cli 是 vue 3.x及更高版本的 手脚架
npm install --global vue-cli 是 vue 2.x 的 手脚架(此文使用这个)
ps: 命令中的–global 可以更改成为–g

npm install --global vue-cli

在这里插入图片描述

2、进入你的项目目录,创建一个基于 webpack 模板的新项目

在这里插入图片描述

说明

Vue build                                    ==>        打包方式,回车即可;
 
Install vue-router                        ==>        是否要安装 vue-router,项目中肯定要使用到 所以Y 回车;
 
Use ESLint to lint your code       ==>        是否需要 js 语法检测 目前我们不需要 所以 n 回车;
 
Set up unit tests                          ==>       是否安装 单元测试工具 目前我们不需要 所以 n 回车;
 
Setup e2e tests with Nightwatch ==>       是否需要 端到端测试工具 目前我们不需要 所以 n 回车;

3、进入项目:cd vue-demo,安装依赖

在这里插入图片描述

安装成功后,项目文件夹中会多出一个目录: node_modules
在这里插入图片描述

4、npm run dev,启动项目

npm run dev

项目启动成功:

在这里插入图片描述

在这里插入图片描述

三、vue项目目录讲解

在这里插入图片描述

1、build:构建脚本目录

	1)build.js               ==>  生产环境构建脚本;2)check-versions.js      ==>  检查npm,node.js版本;3)utils.js               ==>  构建相关工具方法;4)vue-loader.conf.js     ==>  配置了css加载器以及编译css之后自动添加前缀;5)webpack.base.conf.js   ==>  webpack基本配置;6)webpack.dev.conf.js    ==>  webpack开发环境配置;7)webpack.prod.conf.js   ==>  webpack生产环境配置;

2、config:项目配置

	1)dev.env.js   ==>  开发环境变量;2)index.js     ==>  项目配置文件;3)prod.env.js  ==>  生产环境变量;

3、node_modules:npm 加载的项目依赖模块

4、src:开发目录

src:这里是我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件:

	1)assets:资源目录,放置一些图片或者公共js、公共css。这里的资源会被webpack构建;2)components:组件目录,我们写的组件就放在这个目录里面;3)router:前端路由,我们需要配置的路由路径写在index.js里面;4)App.vue:根组件;5)main.js:入口js文件;

5、static
  static:静态资源目录,如图片、字体等。不会被webpack构建

6、index.html
  index.html:首页入口文件,可以添加一些 meta 信息等

7、package.json
  package.json:npm包配置文件,定义了项目的npm脚本,依赖包等信息

8、README.md
  README.md:项目的说明文档,markdown 格式

9、.xxxx文件
  .xxxx文件:这些是一些配置文件,包括语法配置,git配置等

四、开始我们的第一个vue项目

1、封装新组件

在components目录下新建一个views目录,里面写我们的vue组件

1)开始我们的第一个组件:

a:在views目录下新建First.vue
b:在router目录下的index.js里面配置路由路径

在这里插入图片描述

c:template 写 html,script写 js,style写样式

在这里插入图片描述

d:输入ip: http://localhost:8010/#/first,查看页面效果

在这里插入图片描述

注意
一个组件下只能有一个并列的 div,以下写法是错误:

在这里插入图片描述

数据要写在 return 里面,而不是像文档那样子写,以下写法错误:

在这里插入图片描述

2、讲讲父子组件

1)在components目录下新建sub文件夹,用于存放一下可以复用的子组件。比如新建一个Confirm.vue组件

在这里插入图片描述

3)在父组件中引入子组件

引入:import Confirm from ‘…/sub/Confirm’

注册:在<script></script>标签内的 name代码块后面加上 components: {Confirm}

使用:在<template></template>内加上<confirm></confirm>

完整代码:

在这里插入图片描述

2)父子组件通信

子组件:

在这里插入图片描述

父组件:

在这里插入图片描述

3、使用路由搭建单页应用

1)按照以上方法,新建一个Second.vue组件

2)路由跳转:<router-link to=“/second”>去第二个页面<router-link>
    
在这里插入图片描述

在这里插入图片描述

路由跳转之后,注意观察路径变化:

在这里插入图片描述

可以看到,在html中解析成了a标签
在这里插入图片描述

这里只是简单的介绍了一下路由的使用,更多详细信息,请前往官网学习:https://router.vuejs.org/zh/

4、如何用less写样式

1)安装less依赖:npm install less less-loader --save
错误如下
在这里插入图片描述
原因:
这是less-loader的12.2.0版本和node.js版本不兼容,要求大于18.12.0或者降低less-loader版本

解决:(与自己安装的版本兼容)
使用这个可以npm install less less-loader@4.1.0 --save

npm install less less-loader@4.1.0 --save

在这里插入图片描述

安装成功之后,可在package.json中看到,多增加了2个模块:

在这里插入图片描述

2)编写less

在这里插入图片描述

五、补充

1、解决vue启动后不自动访问浏览器的问题

解决vue启动后不自动访问浏览器的问题:当我们输入npm run dev,运行项目,命令行提示我们运行成功,但是浏览器也没有自动打开,只能自己手动输入。

解决:

1)打开config  ==> index.js

在这里插入图片描述

2)module.exports配置中找到autoOpenBrowser,默认设置的是false

在这里插入图片描述

3)将autoOpenBrowser改为true

在这里插入图片描述

4)Ctrl+C,然后我们重启一下,就能自动打开浏览器了

在这里插入图片描述

2、解决端口冲突

为了避免端口冲突,也可以修改port,打开目录同上

在这里插入图片描述

修改成功:

在这里插入图片描述

end


参考:https://www.cnblogs.com/yanxulan/p/8978732.html
最后附上demo地址:https://github.com/yanxulan/vue-demo.git


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

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

相关文章

go 爬虫之 colly 简单示例

1. 背景 colly 是 Go 实现的比较有名的一款爬虫框架&#xff0c;而且 Go 在高并发和分布式场景的优势也正是爬虫技术所需要的。它的主要特点是轻量、快速&#xff0c;设计非常优雅&#xff0c;并且分布式的支持也非常简单&#xff0c;易于扩展。 2. 官方文档 https://go-col…

RPC原理技术

RPC原理技术 背景介绍起源组件实现工作原理 背景 本文内容大多基于网上其他参考文章及资料整理后所得&#xff0c;并非原创&#xff0c;目的是为了需要时方便查看。 介绍 RPC&#xff0c;Remote Procedure Call&#xff0c;远程过程调用&#xff0c;允许像调用本地方法一样调…

Linux DAY 6 _systemctl

systemctl命令&#xff0c;通过这个命令控制系统操作 语法&#xff1a;systemctl start | stop | status | enable | disable 服务名 start 启动 stop 关闭 status 查看状态 enable 开启开机自启 disable 关闭开机自启 服务名&#xff1a; NetworkManager 主网络服务 net…

源网络地址转换SNAT

左上角的是访问互联网发送的数据包&#xff0c;第一个是访问&#xff0c;第二个是网页传回来的 3、4项是源端口号和目的端口号&#xff08;3是随机的&#xff08;1024-65535&#xff09;&#xff0c;那个是http的网页服务端口就是80&#xff09; 那么往回传数据的时候源和目的…

DFE_offset失调校准

1.校准原因 *制造工艺的限制&#xff1a;晶体管在制造过程中&#xff0c;由于工艺的限制&#xff0c;不可能做到完全对称&#xff0c;这导致了输入级晶体管的性能存在微小的差异。 *输入级偏置电流的不对称&#xff1a;输入级晶体管的偏置电流也会存在差异&#xff0c;这也会…

H4vdo 台湾APT-27视频投放工具

地址:https://github.com/MartinxMax/H4vdo 视频 关于 H4vdo RTMP lock 屏播放视频工具&#xff0c;可以向目标发送有效载荷&#xff0c;播放目标的屏幕内容。目标无法曹作计算机 使用方法 安装依赖 根据你的操作系统选择一个安装程序 RTMP 服务端 ./rtsp-simple-server.…

npm run dev启动element-ui,提示node_modules中webpack的版本跟package.json中webpack的版本不一致

问题一&#xff1a;修改node_modules/webpack/package.json版本为4.14.0&#xff0c;npm run dev时版本号又自动更改为 4.47.0 问题二&#xff1a;使用yarn 安装依赖&#xff0c;webpack的版本默认是4.47.0&#xff0c;为什么 求大佬们帮我解答一下以上两个问题 左侧是node_m…

数据中心大型AI模型网络需求

数据中心大型AI模型网络需求 随着Transformer的崛起和2023年ChatGPT的大规模应用&#xff0c;业界逐渐形成共识&#xff1a;遵循一定的规模效应原则&#xff0c;增加模型参数量能够显著提升模型性能。特别是在参数数量级跃升至数百亿乃至更高时&#xff0c;大型AI模型在语言理…

知识分享|非凸问题求解方法及代码示例【分类迭代】【大M法】

主要内容 之前发布了非线性问题线性化的几种方法&#xff0c;如知识分享|分段函数线性化及matlab测试&#xff0c;学习园地 | yalmip实用操作-线性化&#xff0c;非线性优化 | 非线性问题matlabyalmip求解案例&#xff0c;但是在实际建模及编程过程中&#xff0c;会遇到各种…

记录一个更新adobe软件导致加载PDF文件异常的问题

最近由于项目需要,没有办法把原有的adobe正版软件进行了卸载,换了个盗版软件,结果导致我的pdf文件加载的时候出现异常。 报错的语句是这个 string str = System.Environment.CurrentDirectory; // string fileName = MyOpenFileDialog(); axAcroPDF1.LoadFile(…

一顿五元钱的午餐

在郑州喧嚣的城市一隅&#xff0c;藏着一段鲜为人知的真实的故事。 故事的主角是一位年过半百的父亲&#xff0c;一位平凡而又伟大的劳动者。岁月在他脸上刻下了深深的痕迹&#xff0c;但他眼神中闪烁着不屈与坚韧。 他今年52岁&#xff0c;为了给远在家乡的孩子们一个更好的…

人工智能应用-实验4-蚁群算法求解 TSP

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;代码&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;分析结果&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;实验总结&#x1f9e1;&#x1f9e1; &#x1f9…

【vue】封装的天气展示卡片,在线获取天气信息

源码 <template><div class"sen_weather_wrapper"><div class"sen_top_box"><div class"sen_left_box"><div class"sen_top"><div class"sen_city">山东</div><qctc-time cl…

OCM认证考试难吗?

OCM&#xff08;Oracle Certified Master&#xff09;认证考试是Oracle公司提供的最高级别的专业认证&#xff0c;它确实被认为是非常具有挑战性的考试。以下是关于OCM认证考试难度的一些关键点&#xff1a; 深入的技术要求&#xff1a;OCM认证不仅要求考生具备Oracle数据库的…

VR直播:改变我们的直播方式,让现场触手可及

VR直播是近期比较火爆的一种直播方式&#xff0c;相信在抖音上我们都刷到过转动手机、变换视角的VR直播&#xff0c;因为形式比较新颖&#xff0c;用户的参与度比较高&#xff0c;一场直播下来用户的打赏也是较为可观的。 不仅仅在直播行业&#xff0c;在众多应用领域中&#…

软件下载系统asp.net

本项目实现电子书下载网站的功能&#xff0c;实现文章、管理员分类&#xff0c;友情连接的管理以及对前台页面的静态化。网站前台实现对电子书的详细信息介绍和提供下载。 说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于a…

K8S认证|CKA题库+答案| 7. 调度 pod 到指定节点

7、调度 pod 到指定节点 您必须在以下Clusterd/Node上完成此考题&#xff1a; Cluster Master node Worker node hk8s master …

交换机连接方式

一、级联方式 级联是将多个交换机或其他网络设备依次连接&#xff0c;形成一个层次结构&#xff0c;从而扩展网络的覆盖范围和端口数量。 在级联连接中&#xff0c;数据信号会从一个设备依次传递到下一个设备。每个设备都会接收并处理来自上级设备的数据&#xff0c;并将其转…

JVM学习-垃圾回收(三)

System.gc 通过System.gc()或Runtime.getRuntime().gc()的调用&#xff0c;会显示触发Full GC&#xff0c;同时对老年代和方法区进行回收&#xff0c;尝试释放被丢弃对象占用的内存然后System.gc()调用附带一个免责声明&#xff0c;无法保证对垃圾收集器的调用JVM实现者可以通…

欢聚笔试题求助帖

事情是这样的&#xff0c;这段时间一直在求职投简历&#xff0c;期望在暑假之前接到一份大数据开发的实习工作。投了很多公司&#xff0c;然后就收到了欢聚的笔试邀约&#xff0c;HR说要我一天之内做出来&#xff0c;恰巧第二天还有组会要汇报&#xff0c;我就先放下了&#xf…