如何使用vue-cli来搭建vue项目?详细步骤跟着我来吧!

news2025/2/28 17:13:13

目录

一、什么是vue-cli?

二、前提:搭建好NodeJS环境

 安装vue-cli

三、使用脚手架vue-cli(2.X版)来构建项目

 第一步

 第二步

 第三步

 第三步

第四步

 三、SPA完成路由的开发

第一步

​编辑第二步

第三步

 第四步

 第四步

 四、嵌套路由

使用children属性 

五、知识总结 


一、什么是vue-cli?

 vue-cli是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,

创建命令如下:           
        vue init webpack xxx     

        注意:①xxx 为自己创建项目的名称
                   ②必须先安装vue,vue-cli,webpack,node等一些必要的环境


二、前提:搭建好NodeJS环境

 安装vue-cli:

 doc命令分别(分开)执行:

   npm install -g vue-cli
   npm install -g webpack

-g:js依赖会下载到node_global中

-s:会被打包    --->存放在vueproject文件中package.json里的dependcies,打包项目的时候,里面的jar包依赖会一并打包

-d:只在开发环境中被依赖        --->存放在vueproject文件中package.json里的DevDependecies(开发环境),打包项目的时候,里面的jar包不会被打包,只供本地项目使用

注意:

        ①安装成功之后nodejs文件中的node_global里会出现如下文件:

         ②安装完成之后打开命令窗口并输入 vue -V(注意这里是大写的“V”),如果出现相应的版本号,则说明安装成功。


三、使用脚手架vue-cli(2.X版)来构建项目

   ## 使用脚手架创建项目骨架
   ## 此步骤可理解成:使用eclipse创建一个maven的web项目 

 第一步:

在非中文目录下创建一个文件,在这里待开命令窗口cmd

 第二步:

在命令窗口中输入:vue init webpack spa1 【注意:spa1指的是项目名,可自定义】然后回车。   

#此命令用于创建SPA项目,它会在当前目录生成一个以“spa1”命名的文件夹。

 第三步:

进入一问一答模式

 注意:
         1.Project name:项目名,默认是输入时的那个名称spa1,直接回车 
         2.Project description:项目描述,直接回车
         3.Author:作者,随便填或直接回车
         4.Vue build:选择题,一般选第一个
           4.1Runtime + Compiler: recommended for most users//运行加编译,官方推荐,就选它了
           4.2Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specific HTML) are ONLY allowed in .vue files 
              - render functions are required elsewhere//仅运行时,已经有推荐了就选择第一个了
         5.Install vue-router:是否需要vue-router,Y选择使用,这样生成好的项目就会有相关的路由配置文件
         6.Use ESLint to lint your code:是否用ESLint来限制你的代码错误和风格。N  新手就不用了,但实际项目中一般都会使用,这样多人开发也能达到一致的语法
         7.Set up unit tests:是否安装单元测试 N
         8.Setup e2e tests with Nightwatch?:是否安装e2e测试  N
         9.Should we run `npm install` for you after the project has been created? (recommended) (Use arrow keys)
           > Yes, use NPM                    
             Yes, use Yarn
             No, I will handle that myself     //选择题:选第一项“Yes, use NPM”是否使用npm install安装依赖

        全部选择好回车就进行了生成项目,出现如下内容表示项目创建完成!
        # Project initialization finished!

 等待构建脚手架就好。

OK,下载完毕 ,可以看见我们的文件夹里出现了这个项目文件。

 点进去是这样的:

 第三步: 

将项目导入HBuilder X中,

注意:vue-cli构建的项目,在控制台npm run dev启动后,默认的调试地址是8080端口的但是大部分时候,我们都要并行几个项目开发,很有可能已经占用了8080端口,所以就涉及到如何去更改调试地址的端口号了。

 介绍一下工程目录结构

build文件夹(这个文件夹主要是进行webpack的一些配置)                       
     webpack.base.conf.js【webpack基础配置,开发环境,生产环境都依赖】            
     webpack.dev.conf.js【webpack开发环境配置】           
     webpack.prod.conf.js【webpack生产环境配置】             
     build.js【生产环境构建脚本】                               
     vue-loader.conf.js【此文件是处理.vue文件的配置文件】               

config文件夹
     dev.env.js【配置开发环境 】                       
     prod.env.js 【配置生产环境 】                    
     index.js 【这个文件进行配置代理服务器,例如:端口号的修改】                        
       
node_modules文件夹 (存放npm install时根据package.json配置生成的npm安装包的文件夹)

src文件夹(源码目录(开发中用得最多的文件夹)                          
     assets【共用的样式、图片 】                          
     components【业务代码存放的地方,里面分成一个个组件存放,一个页面是一个组件,一个页面里面还会包着很多组件】                       
router(设置路由)                       
     App.vue【 vue文件入口界面 】                         
     main.js 【对应App.vue创建vue实例,也是入口文件,对应webpack.base.config.js里的入口配置  】                        

static文件夹( 存放的文件不会经过webpack处理,可以直接引用,例如swf文件如果要引用可以在webpack配置,  对swf后缀名的文件处理的loader,也可以直接将swf文件放在这个文件夹引用 )                                                        
     package.json【 这个文件有两部分是有用的:scripts 里面设置命令以及在dependencies和devDependencies中, 分别对应全局下载和局部下载的依赖包】   

package.json详解:
   每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境
   
             

第四步:

## 我们需要将当前路径改变到SPA这个文件夹内,然后安装需要的模块。

## 此步骤可理解成:maven的web项目创建成功后,修改pom文件添加依赖。

   cd spa1                                  #改变路径到spa1文件夹下
   npm install                              #安装所有项目需要的npm模块

 然后回车。

 复制 http://localhost:8080去地址栏搜索:

 然后就OK了,访问成功!!

 SPA的访问过程:

        1、访问index.html

        2、index.html通过man.js中的vue实例管理#app边界,同时制定App.vue模板

        3、App.vue中包含了logo图片以及锚点,而锚点与组件的对应关系存在router/index.js中,所有就指向了一个组件

        4、最终App.vue中就显示了logo图片以及helloworld.vue的内容  


  三、SPA完成路由的开发

现在,我们就开始捣鼓项目了:

第一步:引入路由js依赖包(注意:这一步就不需要了,在创建SPA页面的时候就已经有了) 

第二步:定义组件

About.vue

 Home.vue

第三步:定义路由与组件的关系

 第四步:挂载边界(注意,这里是系统默认已经挂载 

 第四步:定义锚点&第五步:触发事件

 效果展示:

点击首页时:

点击关于时:


 四、嵌套路由

需求:实现点击按钮 首页 / 关于 时出现不同的页面 。

 实现思路:

“关于站长”以及“关于本站”的这两个组件嵌套在“关于”组件里。

使用children属性 

效果展示:        点击关于时

                        点击关于站长时:

                        点击关于本站时: 


五、知识总结 

 组件的嵌套:添加属性  children


今日分享内容到此结束啦,希望本篇内容对您有所帮助!

预告下期内容:【SPA项目开发之登录注册】

我是一杯咖啡,我们下期再见!

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

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

相关文章

SpringMVC的文件上传

6.SpringMVC的文件上传 6.1-SpringMVC的请求-文件上传-客户端表单实现(应用) 文件上传客户端表单需要满足&#xff1a; 表单项type“file” 表单的提交方式是post 表单的enctype属性是多部分表单形式&#xff0c;及enctype“multipart/form-data” <form action"…

怎样创建一个VUE项目(超简单)

目录 一、安装node.js 二、搭建vue环境 1、全局安装vue/cli模块包 2、执行命令 3、检查是否安装成功 三、创建vue项目 1、创建项目 2、选择模板和包管理器&#xff0c;等待项目创建完毕 四、启动vue项目 1、执行命令 2、浏览项目页面 五、vue项目目录文件含义和作用…

2022 uniapp基础掌握及面试题整理

1.uniapp优缺点 优点: a. 一套代码可以生成多端 b. 学习成本低,语法是vue的,组件是小程序的 c. 拓展能力强 d. 使用HBuilderX开发,支持vue语法 e. 突破了系统对H5调用原生能力的限制 缺点: a. 问世时间短,很多地方不完善 b. 社区不大 c. …

2022前端面试题汇总(持续更新中~)

目录 1. 防抖和节流 2. js闭包 vue中的data为什么是一个函数&#xff1f;&#xff08;面试常问&#xff09; 3. ES6面试题 3.1 var let const 区别 3.2 解构 3.3 如何利用es6快速的去重&#xff1f; 3.4 Promise 面试题 以下代码的执行结果是&#xff1f; 4. Vue相关…

前端面试八股文(超详细)

JavaScript \1. Promise 的理解 Promise 是一种为了避免回调地狱的异步解决方案 2. Promise 是一种状态机&#xff1a; pending&#xff08;进行中&#xff09;、fulfilled&#xff08;已成功&#xff09;和rejected&#xff08;已失败&#xff09; 只有异步操作的结果&#…

2022最全最新前端面试题(附加解答)

JS 1、说一下innerHTML 与 innerText的作用与区别&#xff1f; 作用&#xff1a;都可以获取或者设置元素的内容区别&#xff1a;innerHTML可以解析内容中的html标签innerText不能解析内容中的html标签 2、JavaScript 由以下三部分组成&#xff1a; ECMAScript&#xff08;语…

Java Web 项目入门指南(http、Servlet、Request、Response、ServletContext、会话技术[cookie、session]、Filter、Listener)

概述 web 服务器、项目、资源概述 web 服务器&#xff1a;可以被浏览器访问到的服务器 常见的 web 服务器&#xff1a; tomcat&#xff1a;中小型的服务器软件&#xff0c;免费开源&#xff0c;支持 JSP 和 Servlet apache 公司的产品WebLogic&#xff1a;Oracle 公司的产品…

Vue.js 状态管理:Pinia 与 Vuex

&#x1f482; 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录Pinia 和 Vuex 简…

vue3 一个基于pinia简单易懂的系统权限管理实现方案,vue-router动态路由异步问题解决

文章目录前情提要应用场景实战解析1、控制添加路由2、实践观察3、控制功能4、解决异步路由问题最后前情提要 作为项目经验稀少的vue开发者来说&#xff0c;在关键技术点上的经验不多&#xff0c;我希望通过我的思想和实践&#xff0c;把好的东西分享在这里&#xff0c;目的是进…

【前端进阶】-TypeScript类型声明文件详解及使用说明

前言 博主主页&#x1f449;&#x1f3fb;蜡笔雏田学代码 专栏链接&#x1f449;&#x1f3fb;【TypeScript专栏】 前三篇文章讲解了TypeScript的一些高级类型 详细内容请阅读如下&#xff1a;&#x1f53d; 【前端进阶】-TypeScript高级类型 | 泛型约束、泛型接口、泛型工具类…

【live2D看板娘】为你的网站添加萌萌的二次元板娘,这都拿不下你?

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

渐进式 Web 应用程序介绍

&#x1f482; 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 构建 PWA 背后的核心思…

【Promise】一文带你了解promise并解决回调地狱

文章目录Promise为什么需要promise需求回调地狱Promise的基本使用promise实例promise的状态promise状态的改变promise的结果promise方法then方法通过then方法获取promise的结果then方法的返回值catch方法解决回调地狱Promise 为什么需要promise 需求 通过ajax请求id,再根据id…

2022 最新 Vue 3.0 面试题

2022 最新 Vue 3.0 面试题1、Vue 的最大的优势是什么&#xff1f;&#xff08;必会&#xff09;2、Vue 和 jQuery 两者之间的区别是什么&#xff1f;&#xff08;必会&#xff09;3、MVVM 和 MVC 区别是什么&#xff1f;哪些场景适合&#xff1f;&#xff08;必会&#xff09;4…

如何快速获取网页源码(直接把网站的 js css html 扒下来的)

如何快速获取网页源码&#xff1f; 我们在学习和研究的时候,或者看到非常酷炫的页面效果&#xff0c;需要网站的源代码进行借鉴&#xff0c;但每次需要下载网站源代码&#xff0c;我们都需要找到一个&#xff0c;下载一个&#xff0c;每次只能下载一个文件&#xff0c;非常缓慢…

vue-quill-editor富文本编辑器-扩展表格、图片调整大小

上篇文章已经讲到、vue-quill-editor的基本配置和图片转成url 这篇文章主要使用插件来完成 图片调整大小 和 表格的插件使用&#xff08;这两个目前quill 版本并不兼容 如果有大神解决了还望指点&#xff09; 参考文章&#xff1a; vue-quill-editor 富文本编辑器支持图片拖拽…

这12个前端在线工具网站,建议每个开发人员了解下

尽管前端网站开发可能会具有挑战性&#xff0c;但并不一定非常困难。本文将向您介绍12个重要的网站&#xff0c;它们能够帮助您简化前端网站开发的过程&#xff0c;让它变得更加快捷和愉悦。在这些网站上&#xff0c;您可以找到各种工具、技术和资源&#xff0c;包括设计素材、…

微信小程序开发入门与实战(数据监听)

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; 微信小程序 &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f4…

js构造函数详解

典型的面向对象编程语言&#xff08;比如C和Java&#xff09;&#xff0c;存在“类”&#xff08;class&#xff09;这个概念。所谓“类”就是对象的模板&#xff0c;对象就是“类”的实例。但是&#xff0c;在JavaScript语言的对象体系&#xff0c;不是基于“类”的&#xff0…

前端基本知识介绍

目录 一.前端三剑客 1.前导 2.三剑客的分工 二.VsCode的介绍与配置 1.vscode的介绍 2.vscode的下载安装 3.vscode的使用 3.1 图形界面操作 3.3 常用插件 三.HTML基础标签 HTML基础知识 1.HTML为何物&#xff1f; 2.标签介绍 3.HTML属性 4.HTML标签骨架 基本的H…