黄子涵

1.2.4 Vue-cli 脚手架

Vue-cli 的简介

Vue-cli 是一个官方命令行工具 ,可用于快速搭建大型单页面应用。该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程,只需几分钟即可创建并启动一个带热重载、保存时静态检查,以及可用于生产环境构建配置的项目。

单页面应用(Single Page Web Application,SPA)

只有一个 Web 页面的应用,如下图所示,是一种从 Web 服务器加载的富客户端,单页面跳转仅刷新局部资源,公共资源(js、css 等)仅需加载一次 。

image

多页面应用(Multi-Page Application, MPA)

多页面跳转刷新所有资源,每个公共资源(js、css 等)需选择性重新加载,如下图所示。

image

表 单页面应用和多页面应用对比

单页面应用 多页面应用
组成 一个外壳页面和多个页面的片段 多个完整的页面
资源共享(css、js) 共用,只需在外壳部分加载 不共用,每个页面都需要夹杂
刷新方式 页面布局刷新或更改 整页刷新
url模式 a.com/#/pageone a.com/#/pagetwo a.com/pageone.html a.com/pagetwo.html
用户体验 页面片段的切换快,用户体验好 页面切换加载缓慢,流畅度不够,用户体验差
搜索引擎优化 需要单独方案,实现较为困难,不利于SEO检索 可利用服务器端渲染(SSR)优化,实现方法简易
开发成本 较高,需要借助专业框架 较低,但页面重复代码多
维护成本 相对容易 相对复杂

Vue-cli 的安装

Vue-cli 是用 Node 编写的命令行工具,需要进行全局安装。首先打开命令提示符窗口,输入如下命令进行安装:

cnpm install vue-cli -g

image

检验 Vue-cli 是否安装成功

安装 Vue-cli 脚手架之后,执行“vue -v”如果能显示 Vue-cli 的版本号,表示安装成功。在以后安装依赖包之后,可以通过<Module Name> --version 或者简写 <Module Name> -v 来查看对应的版本号,如果能显示对应版本号,则说明安装成功。

image

全局安装 Webpack

cnpm install webpack -g

image

初始化项目

到这里,准备工作己经结束了,可以使用 Vue-cli 脚手架快速搭建单页面应用,只需在命令行窗口输入以下命令:

vue init webpack <项目名称>

例如:vue init webpack dm

执行创建项目命令之后,会有一些命令行交互,在这里可以初始化一些项目信息,具体交互信息如下图所示。

image

命令交互的含义

  • project name:如果输入新的项目名称,则会使用新输入的项目名称;直接回车的话,就会默认使用 webpack 后面跟的项目名称 。
  • Project description:项目的描述内容,可以自定义一些内容 。
  • Author:作者,可以写上自己的邮箱或者 GitHub 的地址 。
  • Vue build:打包的方式,这里直接回车即可 。
  • Install vue-router?(Y/n):是否安装 Vue 路由,建议选择 Yes,一般项目都需要路由功能。
  • Use ESLint to lint your code?(Y/n):是否启用 ES lint 检测,选择不启用。
    Set up unit tests(Y/n):是否需要单元检测, 建议选择不需要。
    Setup e2e tests with Nightwatch?(Y/n):是否需要端对端的检测,建议选择不需要。

安装依赖模块

经过上面的步骤,项目基本的模板框架己经搭建起来了,下面要安装项目的依赖模块并启动项目。首先进入项目目录中,使用命令“cd dm”,接下来安装项目依赖模块,运行命令“cnpm install”。

image

安装项目依赖模块之后便会多出一个 node_modules 文件夹,安装的依赖模块都在这个文件夹中,如下图所示。

image

启动项目

最后启动项目,运行命令:

npm run dev。

image

确认项目是否运行成功

启动项目之后需要打开浏览器,输入 http://localhost::8080 ,确认项目是否运行成功,项目启动成功之后,详情如下图所示。

image

项目目录结构

项目启动成功之后,看一下项目目录结构,主要的目录结构如下:

  • src 文件夹放置组件和入口文件。
  • static 文件夹放置静态资源文件 。
  • index.html 为文件入口。

详细的目录结构如下图所示

卷 程序 的文件夹 PATH 列表
卷序列号为 28C1-0439
F:.
│  .babelrc(ES6语法编译配置)
│  .editorconfig(ES语法检查配置)
│  .gitignore(git上传需要忽略的文件格式)
│  .postcssrc.js
│  index.html(入口文件)
│  package-lock.json
│  package.json(项目描述文件)
│  README.md(项目说明)
│  
├─build(项目构建(webpack)相关代码)
│      build.js(生产环境构建代码)
│      check-versions.js(检查node、npm等版本)
│      logo.png
│      utils.js(构建工具相关)
│      vue-loader.conf.js(loader的配置文件)
│      webpack.base.conf.js(webpack基础配置)
│      webpack.dev.conf.js(webpack开发环境配置)
│      webpack.prod.conf.js(webpack生产环境配置)
│      
├─config(构建配置目录)
│      dev.env.js(开发环境变量)
│      index.js(项目一些配置变量)
│      prod.env.js(生产环境变量)
│      
├─node_modules(依赖的node工具包目录)
├─src(源码目录)
│  │  App.vue(页面级Vue组件)
│  │  main.js(页面入口JS文件)
│  ├─assets(资源目录)
│  ├─components(组件目录)
│  └─router(路由配置目录)
│          
└─static(静态文件目录,比如一些图片,json数据等)
posted @ 2022-06-06 21:26  黄子涵  阅读(90)  评论(0编辑  收藏  举报