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& ...
随机推荐
- 【http】HTTP请求方法 之 OPTIONS
OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项.通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务 ...
- FCT test device
- Xss测试
<Script>alert(“XSS attack available!”);</Script>
- Kconfig介绍
https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
- 网站部署,网站要求需要支持mb_substring
如果没有这个函数,php可能会出现中文乱码,处理方法如下: # yum install php-mbstring //安装 之后在/etc/php.ini中添加extension=mbstring ...
- 让svn具有分布式的功能。
最近开发遇到了个难事.公司的svn库不能随便提交,必须要经过验证.但是平时修改太多,如果不提交到svn说不定前面被删掉的代码后面又需要了.svn自带的relocate和switch都不能达到要求.找遍 ...
- THREE.OrbitControls初始化设置位移/旋转/滚轮
let oldController;//已知的一个controller //初始化旋转(鼠标左键的操作) let position=oldController.object.position; cam ...
- THREE.OrbitControls参数控制
// Set to false to disable this control//鼠标控制是否可用 this.enabled = true; // "target" sets th ...
- stm32寄存器版学习笔记08 DMA
DMA(Direct Memory Access),直接存储器访问.DMA传输方式无需CPU直接控制传输,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU效率大大提高.stm32f10 ...
- Roslyn 语法树中的各种语法节点及每个节点的含义
使用 Roslyn 进行源码分析时,我们会对很多不同种类的语法节点进行分析.如果能够一次性了解到各种不同种类的语法节点,并明白其含义和结构,那么在源码分析的过程中将会更加得心应手. 本文将介绍 Ros ...