【板栗糖GIS】12. Vue Cli详解—webpack以及脚手架

目录

12. Vue Cli详解

12.1 webpack

12.1.1 什么是webpack

12.1.2 webpack和gulp的对比

12.1.3 手动配置webpack

12.1.4 webpack配置解析

12.2 Vue Cli脚手架的使用

12.2.1 Vue Cli是什么

12.2.2 Vue Cli依赖环境

12.2.3 Vue Cli的安装

12.3 Vue Cli2的使用

12.3.2 Vue Cli目录结构

12.3.3 入口文件详解

12.4 Vue Cli3的使用

12.4.1 Vue Cli配置过程

12.4.2 Vue Cli目录结构

12.4.3 Vue Cli配置修改


12. Vue Cli详解

12.1 webpack

12.1.1 什么是webpack

官方的解释:

At its core, webpack is a static module bundler for modern JavaScript applications.

从本质上来讲,webpack是一个现代的JavaScript应用的静态模块打包工具。

比较认可的解释

Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。可以把代码从开发模式变成线上模式,最终交给浏览器渲染。

webpack有很多插件,比较重要的两个插件分别是loader和plugin。

loader和plugin的区别:

loader 相当于一个语言的翻译官,比如可以把 less 翻译成 css,把 TypeScript 翻译成 js;

主要用于转换某些类型的模块,它是一个转换器。

plugin 可以监听 webpack 在打包过程中发出的事件

plugin是插件,是对webpack本身的扩展,是一个扩展器。

webpack 在打包的时候,需要通过 webpack.config.js 这个文件告诉它,先从什么文件开始打包,比如先从 index.js 文件开始,index.js 文件又引用了 a.js 和 b.js 文件,那么 webpack 在处理的时候会把 index.js 文件合并到一个文件中。最终需要一个 output(出口)告诉 webpack 把最终生成的文件要放到哪个地方。

总的来说,webpack 就是一个前端打包工具,它拥有非常多的小工具,学习webpack是为了更好集成资源——(关键词:模块化,打包)

模块化:更好的复用代码(偷懒)

打包:帮助处理模块间的各种复杂关系(还是偷懒)

~~~~~~~~~~~~~果然——各种工具出现的本质就是为了偷懒,人类在偷懒这件事情上从来没有松懈过~~~~~~~~~~

12.1.2 webpack和gulp的对比

但是打包的操作似乎grunt/gulp也可以帮助我们完成,它们有什么不同呢?

grunt/gulp的核心是Task

我们可以配置一系列的task,并且定义task要处理的事务(例如ES6、ts转化,图片压缩,scss转成css)

之后让grunt/gulp来依次执行这些task,而且让整个流程自动化。

所以grunt/gulp也被称为前端自动化任务管理工具。

我们来看一个gulp的task

下面的task就是将src下面的所有js文件转成ES5的语法。

并且最终输出到dist文件夹中。

什么时候用grunt/gulp呢?

如果你的工程模块依赖非常简单,甚至是没有用到模块化的概念。

只需要进行简单的合并、压缩,就使用grunt/gulp即可。

但是如果整个项目使用了模块化管理,而且相互依赖非常强,我们就可以使用更加强大的webpack了。

grunt/gulp更加强调的是前端流程的自动化,模块化不是它的核心。

webpack更加强调模块化开发管理,而文件压缩合并、预处理等功能,是他附带的功能。

12.1.3 手动配置webpack

安装webpack首先需要安装Node.js,Node.js自带了软件包管理工具npm,在官网上下载就可以,我只改了路径,其他直接下一步下一步就能安装成功,node.js会自动配置环境变量,等出现finish就是安装完毕了,

webpack的全局安装和局部安装

为什么需要局部安装

当项目开发时,可能需要的不是如今版本的开发环境,可能是旧代码,所以在代码所在路径下安装它使用的版本,这样运行才不会出错

~~~~~~~~vscode以管理员方式打开

全局安装

npm install webpack -g

如果需要特定指某个版本,敲击 npm install webpack@3.6.0 -g   

(-g表示-global,表示全局,而且-g 位置可以移动,不一定非要在末尾@后面写版本号)

局部安装

npm install webpack --save-dev

同样,如果需要特定指某个版本,敲击 npm install webpack@3.6.0 --save-dev   

如果想要局部运行的时候,没有找到局部webpack,那么它还是会使用全局的webpack版本

12.1.4 webpack配置解析

dist文件夹:用于存放之后打包的文件

src文件夹:用于存放我们写的源文件

12.1.5 webpack的打包

webpack src/main.js dist/bundle.js

意思是把src下面的main.js文件打包成dist目录下的bundle.js文件,这种方式还有省略写法,但是省略写法步骤也不简单,这一章知识匆匆看过就结束了,以后如果用得着再来补笔记(大概率是不会补充了)

新建在webpack.config.js中填写绝对路径

然后在窗口敲下npm init 对项目进行初始化

12.2 Vue Cli脚手架的使用

12.2.1 Vue Cli是什么

CLI是Command-Line Interface, 翻译为命令行界面, 但是俗称脚手架.

Vue CLI是一个官方发布 vue.js 项目脚手架

如果你只是简单写几个Vue的Demo程序, 那么你不需要Vue CLI.

如果你在开发大型项目, 那么你需要, 并且必然需要使用Vue CLI

使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。如果每个项目都要手动完成这些工作,那无以效率比较低效,所以通常我们会使用一些脚手架工具来帮助完成这些事情。

~~~~~~~~~~~信我,脚手架好用,特别是经历过webpack的折磨之后,深深明白了这一点

12.2.2 Vue Cli依赖环境

脚手架需要依赖node环境,所以在安装脚手架前需要安装node.js

12.2.3 Vue Cli的安装

1.脚手架3的安装

安装环境

npm install @vue/cli -g

如果想要查看vue的版本,请输入—— vue --version

是两根杠,气死我啦,当时只写了一根杠查不出版本,

创建项目

vue create my-project

2.脚手架2的安装

脚手架不能直接安装了,只能够通过间接安装的方式

安装环境

npm install @vue/cli -init -g

创建项目

vue init webpack  my-project

12.3 Vue Cli2的使用

12.3.1 Vue Cli配置过程

使用脚手架3真实配置一个项目——安装node.js——npm install webpack -g ——npm install @vue/cli -g ——vue  create my-project——npm run serve

manually手动的,选择manually这一项是手动配置脚手架,当然也可以用之前就配置过的模板。

敲击空格键能控制是否配置。

关于怎么将配置信息保存为模板,就是sava preset as

是否保存为独立文件,第一个就是保存独立文件,第二个则不保存独立文件

这一项是是否为未来的项目保存配置信息

接着下一步,下一步,中间过程没有重要信息,就不截图了。

等脚手架搭建完成之后,直接在项目所在的路径敲 npm run serve 会获得网址,按住ctrl点击就能在浏览器中打开配置好的网页,成就感满满呐~

 

使用脚手架2真实配置一个项目——安装node.js——npm install webpack -g ——npm install @vue/cli -init -g——vue init webpack  my-project——npm run dev

前几步骤和安装脚手架3相似,如果已经安装过脚手架3的项目,可以直接从 npm install @vue/cli -init -g开始,下面的图是我和老师对步骤的解释

 

如果创建项目名称里有斜杠,在VScode中会被误认为下一层级,因此要注意在正确路径运行 npm run dev

Vue.config.productionTip = false,阻止启动生产消息;

没有Vue.config.productionTip = false这句代码,它会显示你生产模式的消息;

开发环境下,Vue 会提供很多警告来帮你对付常见的错误与陷阱。

而在生产环境下,这些警告语句却没有用,反而会增加应用的体积。

此外,有些警告检查还有一些小的运行时开销,这在生产环境模式下是可以避免的。

作用: 消息提示的环境配置,设置为开发环境或者生产环境

Vue.config.productionTip = false

 Vue.config.productionTip = true

点击会跳转到如下的页面

 

12.3.2 Vue Cli目录结构

12.3.3 入口文件详解

buildhe config都是关于webpack的配置

从package.json开始读数据

从package.json可知,npm run start和npm run dev是同样效果

npm run build 对项目进行打包——去找到build/build.js

放在static的数据、图片会原封不动的放到dist里面,放assets的数据则会根据文件的大小看是否压缩

package.json 存储依赖信息

package-lock.json 当版本信息为^,就可以查找最近版本

.gitignore设置git服务器不用显示的文件,比如.log

.babelrc设置依赖包,ES各种代码转换的配置

node_modules是node环境依赖包,里面有vue的东西

src文件夹是以后写代码的地方

.editorconfig是代码文本的设置(一般正规公司都有)

.postcssrc.js是css代码转换的配置

index.html是项目网页——单页面富应用(SPA)

12.3.3.1 Vue的渲染过程

runtime+compiler与runtimeonly的区别

runtime+compiler:template-ast-render-virtual dom-真实DOM  (vue1)

runtimeonly:render-virtual dom-真实代码  (vue2)

vue2所用的代码量更少,性能更优越,少6kb

如果在之后的开发中,你依然使用template,就需要选择Runtime-Compiler

如果你之后的开发中,使用的是.vue文件夹开发,那么可以选择Runtime-only

12.3.3.2 render函数的使用

很重要,但是暂时跳过

12.4 Vue Cli3的使用

vue-cli 3 与 2 版本有很大区别

vue-cli 3 是基于 webpack 4 打造,vue-cli 2 还是 webapck 3

vue-cli 3 的设计原则是“0配置”,移除的配置文件根目录下的,build和config等目录

vue-cli 3 提供了 vue ui 命令,提供了可视化配置,更加人性化

移除了static文件夹,新增了public文件夹,并且index.html移动到public中

12.4.1 Vue Cli配置过程

12.4.2 Vue Cli目录结构

12.4.3 Vue Cli配置修改

自定义配置:起别名

12.4.3.1 Vue UI

在命令窗口里面输入vue ui ,任何路径都可以,它是通用的

12.4.3.2 配置存放路径

12.4.3.3 添加新的别名

修改配置:webpack.base.conf.js起别名

vuecli3配置去哪里了,原来以前脚手架2的东西隐藏到下图的serve里面了

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Giser板栗糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值