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& ...
随机推荐
- 学习笔记之AutoLayout
Align:用来添加对齐约束. Pin:添加标准约束,比如相对于其他视图的大小和位置. Reslove Auto Layout Issues:可以让Xcode 自动生成约束,或者基于约束把子视图的边框 ...
- 安装mysql 5.7版本遇到问题及解决办法
遇见问题:1.执行MySql启动命令:net start mysql 报错:Mysql 服务正在启动Mysql 服务无法启动 服务没有报告任何错误. 解决办法:在mysql的安装目录下在my-defa ...
- shell脚本实例三
练习一:获得连通主机的ip和hostname1.脚本编写 vim checkhost.sh #!/bin/bashAuto_conn(){/usr/bin/expect << EOFse ...
- ORA-06512: at "SYS.XMLTYPE" 问题记录
执行SQL报错: SQL> SELECT COUNT(cl.enable_flg) FROM cont_ledger cl INNER JOIN project_project pp ON cl ...
- Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记(完结)
Week 1: Machine Learning: A computer program is said to learn from experience E with respect to some ...
- OPEN(SAP) UI5 学习入门系列之三:MVC (上) - 模型
这次我们来一起学习MVC,这个专题分为两个小节,本次主要是总览以及模型,下一次着重会介绍视图以及控制器,因为控制器其实没有太多可以讲的,所以和视图合并在一块. 1 Model View Control ...
- iOS怎么来实现关闭自动锁屏
怎么来设置[UIApplication sharedApplication] idleTimerDisabled 属性来控制自动锁屏的效果 // 把设置idleTimerDisabled的代码放到 ...
- learn go ifelse
package main // 参考文档: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/05.1.md im ...
- 【javascript】利用jquery ajaxPrefilter防止ajax重复提交
利用jquery ajaxPrefilter中断请求 var pendingRequests = {}; $.ajaxPrefilter(function( options, originalOpti ...
- 内联汇编实现 memcpy 和 memset
#pragma check_stack( off) LPVOID __cdecl _memcpy(void * dst, void* src, size_t size) { int dwSize = ...