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& ...
随机推荐
- LeetCode OJ:Merge k Sorted Lists(归并k个链表)
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 类 ...
- Linux环境安装xmapp(PHP-Mysql集成环境)
xmapp是很多初学者使用的PHP环境集成包,用yum在linux安装的php和mysql版本现在都很低,xmapp可以解决这个问题,下面我们直接进入正题,安装一个php集成环境. 我使用的是vm虚拟 ...
- VS2010上写QT代码,但是显示不出来QString的值-解决办法
我的配置是vs2010和qt,debug下看不到 QString的值 根据 http://www.cnblogs.com/russinovich/archive/2012/06/29/2569898. ...
- HDU 2273
http://acm.hdu.edu.cn/showproblem.php?pid=2273 N辆车排队过马路,不能相撞,问最短时间 ans=车的总长度/最小速度 #include <iostr ...
- grunt实现修改代码实时刷新浏览器
grunt例子:https://github.com/Aquarius1993/gruntDemo grunt 实时刷新1: 1.安装chrome浏览器插件:liveReload ...
- 上传IOS项目和版本更新流程图
上传IOS项目和版本更新流程图 必备IDP证书和distribution证书(第一个证书是真机部署测试时用到的,后者证书是发布时需要用到的,缺一不可). 我就说说接下来应该做的流程.在你保证拥有以上两 ...
- python 之头像上传,预览
上传头像 我们需要实现的效果是:当我们点击默认头像,用户可以进行选择要上传的头像文件,其原理就是头像的img标签与文件input(file类型)框重合或者关联,可以通过如下两种方式进行实现: 方法一l ...
- xgboost系列之应用xgboost的注意事项
问题:win和mac平台运行相同的xgboost代码,效果不同? 解决:xgboost的参数colsample_bytree设置为1.
- 【Python爬虫学习笔记(3)】Beautiful Soup库相关知识点总结
1. Beautiful Soup简介 Beautiful Soup是将数据从HTML和XML文件中解析出来的一个python库,它能够提供一种符合习惯的方法去遍历搜索和修改解析树,这将大大减 ...
- BZOJ3529 [Sdoi2014]数表【莫比乌斯反演】
Description 有一张 n×m 的数表,其第 i 行第 j 列(1 <= i <= n, 1 <= j <= m)的数值为 能同时整除 i 和 j 的所有自然数之和.给 ...