Vue-cli搭建SPA项目

前言

Vue CLI(Vue Command Line Interface)是一个用于快速搭建基于Vue.js的前端项目的工具。它是Vue.js官方提供的一个脚手架工具,旨在简化Vue.js项目的开发过程。Vue CLI提供了一些强大的功能,帮助开发者轻松创建、开发和构建Vue.js应用程序

Vue CLI的主要特点和功能:

  1. 快速创建项目: Vue CLI允许开发者通过命令行轻松创建新的Vue.js项目,包括配置文件、目录结构和一些默认的依赖项。

  2. 开发服务器: Vue CLI集成了一个开发服务器,可以在开发过程中实时预览应用程序的变化。这意味着你可以在开发过程中立即看到你的修改,无需手动刷新浏览器。

  3. 插件系统: Vue CLI支持插件系统,可以通过插件扩展项目的功能。这使得集成各种工具和库变得更加容易,例如添加路由管理、状态管理或国际化等。

  4. 配置文件: Vue CLI提供了一个配置文件(vue.config.js),允许你对构建和开发过程进行高度定制。你可以在配置文件中设置构建选项、代理、自定义Webpack配置等。

  5. Vue CLI UI: 除了命令行界面,Vue CLI还提供了一个图形用户界面(Vue CLI UI),使得配置和管理项目变得更加直观和用户友好。

  6. 内置构建工具: Vue CLI集成了现代的前端构建工具,如Webpack和Babel,以便优化和打包你的应用程序,以便在生产环境中使用。

总之,Vue CLI是一个强大的工具,可帮助开发者更轻松地创建、开发和部署Vue.js应用程序。它使得Vue.js项目的管理和配置变得更加简单,用于自动生成vue.js+webpack的项目模板

一.环境搭建

1.首先安装vue-cli

在cmd窗口中输入以下命令

npm install -g vue-cli

验证是否安装成功

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

2.使用脚手架创建项目骨架 

(1)进入要创建项目的目录

cmd命令:cd 项目路径

或者是直接在要创建的目录的地址栏输入cmd命令直接进入

(2)cmd窗口输入命令创建项目

vue init webpack 项目名

 

cmd命令行窗口显示中文乱码,多是因为cmd命令行窗口字符编码不匹配导致

修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001

切换回中文:chcp 936

这两条命令只在当前窗口生效,重启后恢复之前的编码

(3)一问一答模式

 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安装依赖

 

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

当出现以下界面才能说明安装成功了

 (4)启动项目

cd 刚刚创建的项目名

然后输入以下命令启动项目

 npm run dev

 出现以上界面说明创建成功

通过浏览器访问地址

二. spa项目入门

1.vue项目结构说明

  build文件夹: 这个文件夹主要是进行webpack的一些配置

 webpack.base.conf.js webpack基础配置,开发环境,生产环境都依赖
webpack.dev.conf.js webpack开发环境配置
 webpack.prod.conf.jswebpack生产环境配置
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.vuevue文件入口界面
main.js 对应App.vue创建vue实例,也是入口文件,对应webpack.base.config.js里的入口配置  
static文件夹存放的文件不会经过webpack处理,可以直接引用,例如swf文件如果要引用可以在webpack配置对swf后缀名的文件处理的loader,也可以直接将swf文件放在这个文件夹引用
package.json这个文件有两部分是有用的:scripts 里面设置命令以及在dependencies和devDependencies中,分别对应全局下载和局部下载的依赖包

2. 什么是*.vue文件

   *.vue 文件,是一个自定义的文件类型,用类似HTML的语法描述一个Vue组件。

   每个.vue文件包含三种类型的顶级语言块 <template>, <script> 和 <style>。

   这三个部分分别代表了 html,js,css。

注1:不能直接把html代码包裹在<template></template>中,而是必须在里面方置一个html标签来包裹所有的代码

        一般情况是使用<div></div>标签包含其它的代码(保证只有一个根元素)

         <template>

           <div>...</div>

         </template>

   注2:js代码写在<script>标签中,并通过export导出

        <script>

          export default {

             name: 'App'

          }

        </script>

3.嵌套路由案例演示

3.1定义基本路由

(1)模板文件

<router-link to="/Home">首页</router-link>
<router-link to="/About">关于</router-link>

(2)路由

在主路由中

{path: '/Home',name: 'Home',component: Home},{path: '/About',name: 'About',component: About},

3.2 定义子路由

在当前主路由中配置子路由

{path: '/About',name: 'About',component: About,children:[{{path: '/AboutMe',name: 'AboutMe',component: AboutMe},{path: '/AboutWebsite',name: 'AboutWebsite',component: AboutWebsite},}]},

3.3分别定义两个子路由的模板文件

<template><div>关于本站介绍内容</div>
</template><script>export default {name: 'AboutWebsite',data () {return {msg: 'Welcome to Your Vue.js App'}}}
</script>
<template><div>关于站长</div>
</template><script>export default {name: 'AboutMe',data () {return {msg: 'Welcome to Your Vue.js App'}}}
</script>

3.4在主路由中挂载内容

<template><div><router-link to="/AboutMe">关于本站</router-link><router-link to="/AboutWebsite">关于站长</router-link><router-view></router-view></div>
</template>

测试效果

 

今天的分享到这里就结束了,感谢各位大大的观看,各位大大的三连是博主更新的动力,感谢谢谢谢谢谢谢谢谢各位的支持!!!!! 

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

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

相关文章

Verilog:$readmemb和$readmemh系统函数的使用与其中的初始化地址相关问题(详细细节)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 $readmemb和$readmemh两个系统函数用于将文件中的数据加载到存储器或者被称为数组的memory中。首先给出他们的语法的BNF范式&#xff0c;有关BNF范式的内容可以在…

Merge之后,还没有Push,如何回滚

Merge之后&#xff0c;还没有Push&#xff0c;如何回滚 Merge之后&#xff0c;还没有Push&#xff0c;如何回滚 1&#xff1a;代码操作&#xff1a; 1&#xff1a;git log 查看git执行历史记录 GIT所有的执行记录会以倒叙呈现&#xff1b;最上面的就是需要回滚的merge序列号&a…

爬虫 — Scrapy 框架(一)

目录 一、介绍1、同步与异步2、阻塞与非阻塞 二、工作流程三、项目结构1、安装2、项目文件夹2.1、方式一2.2、方式二 3、创建项目4、项目文件组成4.1、piders/__ init __.py4.2、spiders/demo.py4.3、__ init __.py4.4、items.py4.5、middlewares.py4.6、pipelines.py4.7、sett…

芯科蓝牙BG27开发笔记9-蓝牙温控器例程阅读

源码&#xff1a; https://download.csdn.net/download/hxkrrzq/88353283 以上源码都是官方资源&#xff0c;可以自行gitbub下载&#xff08;参见之前笔记&#xff09; 蓝牙广播格式化 之前的笔记中广播数据是直接使用的十六进制字符串&#xff0c;关于这32bytes数据的格式化…

【Linux】系统编程线程互斥与同步(C++)

目录 【1】线程互斥 【1.1】进程线程间的互斥相关背景概念 【1.2】互斥量mutex 【1.3】互斥量实现原理探究 【1.4】RAII的加锁风格 【2】可重入VS线程安全 【2.1】概念 【2.2】常见的线程不安全的情况 【2.3】常见的线程安全的情况 【2.4】常见不可重入的情况 【2.5…

Linux之ASCII码表查询tools(五十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

基于复旦微的FMQL45T900全国产化ARM核心模块(100%国产化)

TES745D是一款基于上海复旦微电子FMQL45T900的全国产化ARM核心板。该核心板将复旦微的FMQL45T900&#xff08;与XILINX的XC7Z045-2FFG900I兼容&#xff09;的最小系统集成在了一个87*117mm的核心板上&#xff0c;可以作为一个核心模块&#xff0c;进行功能性扩展&#xff0c;能…

Flask框架-2-[单聊]: flask-socketio实现websocket的功能,实现单对单聊天,flask实现单聊功能

一、概述和项目结构 在使用flask-socketio实现单聊时&#xff0c;需要将会话id(sid) 与用户进行绑定&#xff0c;通过emit(事件,消息,tosid) ,就可以把消息单独发送给某个用户了。 flask_websocket |--static |--js |--jquery-3.7.0.min.js |--socket.io_4.3.1.js |--template…

实验五 熟悉 Hive 的基本操作

实验环境&#xff1a; 1.操作系统&#xff1a;CentOS 7。 2.Hadoop 版本&#xff1a;3.3.0。 3.Hive 版本&#xff1a;3.1.2。 4.JDK 版本&#xff1a;1.8。 实验内容与完成情况&#xff1a; &#xff08;1&#xff09;创建一个内部表 stocks&#xff0c;字段分隔符为英文逗号…

Linux 中的make/makefile

一&#xff1a;背景 make是一个命令工具&#xff0c;是一个解释makefifile中指令的命令工具&#xff0c;一般来说&#xff0c;大多数的IDE都有这个命令&#xff0c;比如&#xff1a;Delphi的make&#xff0c;Visual C的nmake&#xff0c;Linux下GNU的make。可见&#xff0c;mak…

《Python等级考试(1~6级)历届真题解析》专栏总目录

❤️ 专栏名称&#xff1a;《Python等级考试&#xff08;1~6级&#xff09;历届真题解析》 &#x1f338; 专栏介绍&#xff1a;中国电子学会《全国青少年软件编程等级考试》Python编程&#xff08;1~6级&#xff09;历届真题解析。 &#x1f680; 订阅专栏&#xff1a;订阅后可…

为什么伦敦金获得连续盈利这么难

相信在伦敦金市场中投资的投资者都有这个感受&#xff0c;我们很容易在市场中获取力量利润&#xff0c;但是要长期的在市场中稳定的盈利&#xff0c;持续不断地获利&#xff0c;这对很多投资者来说都有点难&#xff0c;可以这么说&#xff0c;稳定盈利是普通投资者一个阶段性的…