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& ...
随机推荐
- 《Effective C++》第5章 实现-读书笔记
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...
- HashMap resize方法的理解(一)
对于oldTable中存储的为15.7.4.5.8.1,长度为8的一个数组中,存储位置如下 0 1 2 3 4 5 6 7 8 1 4 5 15 7 当扩容到一倍后,对于新的位置的选择通过e.hash ...
- Python基础学习----元组
# 元组和列表的区别: # 相同点: # 1.表示多个元素的序列 # 2.数据之间用 , 分开 # 3.索引都是[0]开始 # # 不同点: # 1.列表创建是[],元组是()表示 # 2.元组元素一 ...
- 字符串-----KMP竟然是18禁
今天学了一下午字符串,讲到结束也没讲KMP.有人问老师为什么不讲,老师来一句:字符串noip不考,而且还是18禁,自然不讲.[手动滑稽] 所以我也不讲.[微笑] 1.表达式树 表示3+5*8 最后计算 ...
- .net的session详解
http://blog.csdn.net/justin_wkf/article/details/5746914#comments
- Lua的清屏快捷方式
1. Lua (Command Line) 这里清屏的方式是: os.execute("cls") 就是执行了DOS中的清屏命令! 2.SciTE中的清屏方式: -----(1)第 ...
- gradle Could not create service of type CrossBuildFileHashCache using BuildSessionScopeServices.crea
gradle Could not create service of type CrossBuildFileHashCache using BuildSessionScopeServices.crea ...
- [置顶]
普通程序员如何入门AI
毫无疑问,人工智能是目前整个互联网领域最火的行业,随着AlphaGo战胜世界围棋冠军,以及各种无人驾驶.智能家居项目的布道,人们已经意识到了AI就是下一个风口.当然,程序员是我见过对于新技术最敏感的一 ...
- 【数据处理】OneHotEncoder编码
原创博文,转载请注明出处! # OneHotEncoder编码 OneHotEncoder编码称为"哑编码"或"独热编码",是将表示分类的数据扩维度, ...
- 模块(Modules)
一.引入模块 模块:当编写更大的应用程序时,所有的代码肯定会分成多个文件,这样便于维护,另外已经编写好的函数和对象在被多个程序中使用时,不用把函数和对象拷贝到每个程序中. 模块支持以上功能,在Pyth ...