webpack快速入门(一):安装
webpack入门系列,从安装到使用再到放弃。。。。全套的哟,呵呵
首先说明,我是一个后端开发,好几年没碰过前端了,想当年写前端的时候jq还是主流,那时的前端还单纯的像个处女一样,哪有什么构建工具、依赖管理、双向绑定什么的(起码我不知道。哈哈)
后来一直专注后端,没再接触前端,直到前段时间换公司,那公司用vue+webpack+node来作前端项目,我才知道现在的前端已经发展成了这样。(当时还是和前端的负责人说,我可以写点前端),
后来人家给我开了权限之后,一看又是配置,又是编译,又是打包,又是依赖的,我表示很无辜,这脸打的啪啪响。一脸懵逼+生无可恋,完全不知道怎么下手,而且当时问了一个自己都感觉很
白痴的问题:这个前端项目怎么启动?(我当时真的不知道)。后来就放弃了,又去专注后端去了,NO ZUO NO DIE。正好最近有点时间,学习一下,也作个记录,不能再这么丢人了。
正题:
webpack是什么?它是一个打包工具,前端的打包工具,在它之前也有过不少的前端打包工具,但是自从webpack出来后,基本大家都在用webpack了。据说原因如下:
早期的其他打包工具,无法解析项目使用到的具体依赖关系,只能依赖于配置规则来打包,这样的话,只要规则匹配不管你项目有没有真正使用,都会给你打包进去,导致打包结果比较大。
同时又打包了很多无用的依赖,如果想干掉无用的依赖,还是要人肉检索。。。但是webpack却解决了这个问题,还是据说(官网描述)它会解析你的文件生成一个依赖图,
从而只对使用到的依赖作打包。这个还是很牛逼的。
安装:
webpack的安装运行基本是依赖于node的,所以要玩webpack,要实现前端的现代化先得安装nodejs,不说node怎么装了,windows就是一路next,linux也不难
安装是通过node的npm来进行的,分两种安装方式:
本地安装:
npm install --save-dev webpack
npm install --save-dev webpack@<version>
全局安装:
npm install --global webpack
官网推荐本地安装,两种方式我说一下个人理解,本地安装是针对当前项目的,安装的依赖包只对当前项目生效,好处显而易见,如果你想换某个依赖版本,升级、降级
都在当前项目操作,不会影响全局。坏处嘛,也是显而易见的,每个项目都需要下载安装依赖包,即使两个项目的依赖一毛一样也是不行滴。
全局安装的好处和坏处和本地安装恰恰相反,不多说了。都是我自己的理解,各位仁者见仁智者见智
下一篇:使用入门
webpack快速入门(一):安装的更多相关文章
- webpack快速入门——如何安装webpack及注意事项
1.window+R键,输入cmd打开命令行工具,输入 mkdir XXXX(XX:文件夹名): 2.cd XXX 进入刚刚创建好的文件夹里,输入cnpm install -g webpack (安装 ...
- webpack快速入门——实战技巧:watch的正确使用方法,webpack自动打包
随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件, ...
- webpack快速入门——CSS进阶:自动处理CSS3前缀
为了浏览器的兼容性,有时候我们必须加入-webkit,-ms,-o,-moz这些前缀.目的就是让我们写的页面在每个浏览器中都可以顺利运行. 1.安装 cnpm i postcss-loader aut ...
- webpack快速入门——webpack3.X 快速上手一个Demo
1.进入根目录,建两个文件夹,分别为src和dist 1).src文件夹:用来存放我们编写的javascript代码,可以简单的理解为用JavaScript编写的模块. 2).dist文件夹:用来存放 ...
- webpack快速入门——配置文件:入口和出口,多入口、多出口配置
1.在根目录新建一个webpack.config.js文件,然后开始配置: const path = require('path'); module.exports={ //入口文件的配置项 entr ...
- webpack快速入门——配置文件:服务和热更新
1.在终端安装 cnpm i webpack-dev-server --save-dev 2.配置好后执行 webpack-dev-server,这时候会报错 出现错误,只需要在pagejson里配置 ...
- webpack快速入门——CSS文件打包
1.在src下新建css文件,在css文件下新建index.css文件,输入以下代码 body{ background:pink; color:yellowgreen; } 2.css建立好后,需要引 ...
- webpack快速入门——配置JS压缩,打包
1 .首先在webpack.config.js中引入 const uglify = require('uglifyjs-webpack-plugin'); 2.然后在plugins配置里 plugin ...
- webpack快速入门——插件配置:HTML文件的发布
1.把dist中的index.html复制到src目录中,并去掉我们引入的js 2.在webpack.config.js中引入 const htmlPlugin = require('html-web ...
- webpack快速入门——CSS中的图片处理
1.首先在网上随便找一张图片,在src下新建images文件夹,将图片放在文件夹内 2.在index.html中写入代码:<div id="pic"></div& ...
随机推荐
- 【html】META http-equiv 大全
meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <head><meta http-equiv="content ...
- iOS使用Instruments的工具
使用Instruments的工具 iOSXcodeInstrumentsInstruments是一个官方提供的强大的性能调试工具集. 1.Blank(空模板):创建一个空的模板,可以从Library库 ...
- elasticsearch关于索引切分的实现
[背景信息] ES一直以来对于已经创建好的索引的分片是不可以进行分割的,简单的说,当你创建了一个索引,并指定了number_of_shards为2,当随着数据量的不断增大,是无法将索引的shard扩充 ...
- mybatis入参方式和缓冲
1.mybatis入参方式 @Param注解参数(注解) 封装成对象入参 public int updatePassword(@Param("id")int id,@Param(& ...
- Vim技能修炼教程(16) - 浮点数计算函数
浮点数计算函数 这一节的所有函数,只有在vim编译时支持了+float时才有效. 三角函数 sin() : sine正弦函数 cos() : cosine余弦函数 tan() : tangent正切函 ...
- python删除list中元素的三种方法
a.pop(index):删除列表a中index处的值,并且返回这个值. del(a[index]):删除列表a中index处的值,无返回值. del中的index可以是切片,所以可以实现批量删除. ...
- Linux基础三(正则表达式)
语法(部分) 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.例如,“n”匹配字符“n”.“\n”匹配一个换行符.序列“\\”匹配“\”而“\(”则匹配“(”. ^ 匹配输入字符串的开 ...
- HDU2157 How many ways矩阵再识
春天到了, HDU校园里开满了花, 姹紫嫣红, 非常美丽. 葱头是个爱花的人, 看着校花校草竞相开放, 漫步校园, 心情也变得舒畅. 为了多看看这迷人的校园, 葱头决定, 每次上课都走不同的路线去教室 ...
- 如何用OpenCV跟踪鼠标操作
转载:如何用OpenCV跟踪鼠标操作 http://blog.skyoung.org/2014/05/01/how-to-track-mouse/ 在视频第一帧手动标记出目标的位置是在线视觉跟踪中最基 ...
- ubuntu pip换下载源
1.在本目录下(~)新建.pip文件夹 2.在.pip文件夹下新家pip.conf文件 3.里面添加下面文件 [global] trusted-host=mirrors.aliyun.comindex ...