如何搭建一个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.rhkb.cn/news/329466.html

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

相关文章

安装和使用图像处理软件GraphicsMagick @FreeBSD

GraphicsMagick是一个用于处理图像的读取、写入和操作的工具软件。它被誉为图像处理领域的“瑞士军刀”&#xff0c;短小精悍&#xff0c;支持超过88种图像格式&#xff0c;包括DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF等。 GraphicsMagick的主要特点包括&#xff1a;…

【openlayers系统学习】3.5colormap详解(颜色映射)

五、colormap详解&#xff08;颜色映射&#xff09; ​colormap​ 包是一个很好的实用程序库&#xff0c;用于创建颜色图。该库已作为项目的依赖项添加&#xff08;1.7美化&#xff08;设置style&#xff09;&#xff09;。要导入它&#xff0c;请编辑 main.js​ 以包含以下行…

蓝桥楼赛第30期-Python-第三天赛题 从参数中提取信息题解

楼赛 第30期 Python 模块大比拼 提取用户输入信息 介绍 正则表达式&#xff08;英文为 Regular Expression&#xff0c;常简写为regex、regexp 或 RE&#xff09;&#xff0c;也叫规则表达式、正规表达式&#xff0c;是计算机科学的一个概念。 所谓“正则”&#xff0c;可以…

Golang实现递归复制文件夹

代码 package zdpgo_fileimport ("errors""os""path/filepath""strings" )// CopyDir 复制文件夹 // param srcPath 源文件夹 // param desPath 目标文件夹 // return error 错误信息 func CopyDir(srcPath, desPath string) error {…

金丝雀发布(灰度发布)介绍 及 声明式管理方法简介

目录 一 应用发布策略 1&#xff0c;滚动发布&#xff08;k8s默认&#xff09; 2&#xff0c;蓝绿发布 3&#xff0c;金丝雀发布 二 金丝雀发布&#xff08;Canary Release&#xff09; &#xff08;灰度发布&#xff09; 1&#xff0c;金丝雀发布图解 2&#xff0…

【NLP】文本分类

n-gram 的局限性 n-gram 只能对于填空这样的通顺性问题做出推测&#xff0c;但是没有办法完全解决句子的语义问题&#xff0c;从而无法实现文本的分类 文本的分类&#xff0c;就是将文本在语义的理解下划分到特定的主题下 手工规则 如一些垃圾过滤系统&#xff0c;需要人工制…

Docker部署springboot包并联通MySQL

Docker部署jar 实现功能 部署springboot下发布的jar包不同docker容器之间通信&#xff08;如MySQL访问、Redis访问&#xff09;多个jar包部署 参考文献 Just a moment… Just a moment… https://www.jb51.net/article/279449.htm springboot配置 这里使用多yaml配置文件&…

如何在go项目中实现发送邮箱验证码、邮箱+验证码登录

前期准备 GoLand &#xff1a;2024.1.1 下载官网&#xff1a;https://www.jetbrains.com/zh-cn/go/download/other.html Postman&#xff1a; 下载官网&#xff1a;https://www.postman.com/downloads/ 效果图(使用Postman) Google&#xff1a; QQ&#xff1a; And …

自动驾驶决策规划——坐标转换

以下内容来自b站up主忠厚老实的老王&#xff0c;视频链接&#xff1a;自动驾驶决策规划算法序章 总纲与大致目录_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1hP4y1p7es/?spm_id_from333.999.0.0&vd_sourced36e625f376908cfa88ef5ecf2fb0ed8侵删。 决策规划算法…

mysql存储比特位

一、介绍 二、SQL CREATE TABLE bits_table (id INT PRIMARY KEY AUTO_INCREMENT,bit_value BIGINT UNSIGNED );-- 插入一个 8 位的 BIT 值 INSERT INTO bits_table (bit_value) VALUES (B10101010);-- 查询并格式化输出 SELECT id,bit_value,CONCAT(b, LPAD(BIN(bit_value),…

C++——动态规划

公共子序列问题 ~待补充 最长公共子序列 对于两个字符串A和B&#xff0c;A的前i位和B的前j位的最大公共子序列必然是所求解的一部分&#xff0c;设dp[i][j]为串A前i位和B串前j位的最长公共子序列的长度&#xff0c;则所求答案为dp[n][m]&#xff0c;其中n&#xff0c;m分别为…

【linux】进程(一)

1. 冯诺依曼体系结构 计算机基本都遵循着冯诺依曼体系 我们使用的计算器是由一个个硬件构成的&#xff1a; 中央控制器&#xff08;CPU&#xff09; &#xff1a; 运算器 控制器 等输入设备 : 键盘&#xff0c;鼠标&#xff0c;网卡 等输出设备 : 显示器&#xff0c;网卡 等…

Python概述

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 了解Python Python&#xff0c;本义是指“蟒蛇”。1989年&#xff0c;荷兰人Guido van Rossum发明了一种面向对象的解释型高级编程语言&#xff0c;…

[数据集][目标检测]弹簧上料检测数据集VOC+YOLO格式142张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;142 标注数量(xml文件个数)&#xff1a;142 标注数量(txt文件个数)&#xff1a;142 标注类别…

实现本地访问云主机,以及在云主机搭建FTP站点

前言 云计算是一种基于互联网的计算模式&#xff0c;通过网络提供按需访问的计算资源和服务。核心概念是把计算能力视作一种公共资源&#xff0c;用户可以根据自身需求动态分配和管理这些资源。 云主机 ECS (Elastic Compute Server)是一种按需获取的云端服务器&#xff0c;提…

ArrayList和LinkedList的使用

ArrayList List<> list new ArrayList<>(); LinkedList

树的非递归遍历(层序)

层序是采用队列的方式来遍历的 就比如说上面这颗树 他层序的就是&#xff1a;1 24 356 void LevelOrder(BTNode* root) {Que q;QueueInit(&q);if (root){QueuePush(&q, root);}while (!QueueEmpty(&q)){BTNode* front QueueFront(&q);QueuePop(&q);print…

二十五、openlayers官网示例CustomOverviewMap解析——实现鹰眼地图、预览窗口、小窗窗口地图、旋转控件

官网demo地址&#xff1a; Custom Overview Map 这个示例展示了如何在地图上增加一个小窗窗口的地图并跟随着地图的旋转而旋转视角。 首先加载了一个地图。其中 DragRotateAndZoom是一个交互事件&#xff0c;它可以实现按住shift键鼠标拖拽旋转地图。 const map new Map({int…

家政预约小程序05服务管理

目录 1 设计数据源2 后台管理3 后端API4 调用API总结 家政预约小程序的核心是展示家政公司提供的各项服务的能力&#xff0c;比如房屋维护修缮&#xff0c;家电维修&#xff0c;育婴&#xff0c;日常保洁等。用户在选择家政服务的时候&#xff0c;价格&#xff0c;评价是影响用…