webpack学习笔记(一)安装与试用
由于初次接触 webpack(官网),对很多方面都不是很理解,在查找部分资料后记录一下自己的见解(本文实践基于webpack4)。
1. 个人见解
- 简单来说,webpack就是js的 打包 工具。个人认为比较类似于maven构建,打包java项目。
- 它能够根据 依赖关系 整合,压缩打包js,通过相关配置还能打包html/css,图片等静态资源文件。(把乱七八糟的文件塞到一块)
- 打包后的项目,js文件会被整合,减少请求量 。可以压缩内容,提升加载速度,同时具有一定安全性。
2. 安装webpack
2.1 所需环境
安装webpack,首先需要电脑中已经安装了node,npm,这一步就不说了。
2.2 安装步骤
webpack安装方式有 全局安装 和 局部安装 ,两种方式都需要安装一遍。安装较慢的可以使用淘宝镜像cnpm。
并且 webpack4 在安装时需要同时安装两个东西:webpack,webpack-cli(脚手架)。以下是安装方法:
2.2.1全局安装:
npm install webpack webpack-cli -g
2.2.2局部安装:
首先需要在项目(文件夹)根目录 生成package.json 配置文件,cmd进入 根目录,执行(所有选项回车确定即可):
npm init
然后安装webpack:
npm install webpack webpack-cli -s
成功安装后的文件夹目录如下,有 项目依赖包 以及 配置文件:
|  | 
到这里,我们的安装已经完成了。
3. 简单使用
在 默认配置 中,webpack只会去打包js,入口文件(entry)为:src/index.js,出口文件(output)为:dist/mian.js 。我们就使用默认配置来尝试一下。
3.1 新建index.js:

3.2 执行打包命令
直接在根目录执行命令
webpack
这个时候会看到已经 打包成功,根目录下出现dist(目标文件夹)里面的main.js就是打包好的文件:

但是会出现 警告:

这是因为webpack打包有两种模式,一种是开发模式:development,另一种是生产模式:production。
开发模式下打包的代码是格式化的,可以方便调试;生产模式下则是压缩过的。
在 没有配置 的情况下,它会用生产模式进行打包,但是会报 警告。我们可以在使用 cli命令 的时候,将参数带过去(也可以选择直接在 配置文件 中去设置):
webpack --mode=production
这样就不会报警告了。
3.3 测试
我们直接建一个html文件,然后引入这个生成的js,打开后,可以看到控制台输出的 “hello webpack” 了。
4. 总结
第一次学习webpack,问题还是挺多的,光安装就找了蛮久,因为中文官网找不到相关内容,不同版本之间各种方法也不一样。初步使用之后感觉还是挺好的,对于大的项目来说,webpack打包的确是省事不少。后续慢慢学,还会慢慢记录的~
修正一个错误:官网其实是有详细的介绍的,是自己没看到,需要的小伙伴可以移步 >> 官网指南
这也是自己第一次写博客,写的内容呢也是简单的不能再简单的了,主要是记录一下自己的学习过程,希望能有所成长,同时也能对大家有所帮助(ps:写的都是大家会的,能有什么帮助),总之呢,养成这个习惯吧
webpack学习笔记(一)安装与试用的更多相关文章
- CentOS学习笔记--Tomcat安装
		Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ... 
- OracleDesigner学习笔记1――安装篇
		OracleDesigner学习笔记1――安装篇 QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一. 前言 Oracle是当 ... 
- webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件
		一 .webpack学习环境准备: 1:window系统 2:安装node.js 官方网址 下载好后下一步下一步安装即可 安装步骤略过....... 3:nrm的安装 打开cmd命令控制台 输入:n ... 
- 【原】webpack学习笔记
		之前在react的项目中有用过webpack,不过没有认真的去研究,这段时间又重新好好的学习一下webpack,发觉 webpack是一个很强大的东西.而且很好用,方便,接下来主要是做一下学习的笔记 ... 
- 更博不能忘——webpack学习笔记
		webpack是前端构建系统就像grunt和gulp(之前有学习过grunt所以也就大概明白webpack是个什么东西),所以说前端技术大部分还真是相通的,现在觉得当时多看的东西并不白费,虽然长时间不 ... 
- CUBRID学习笔记 2  安装教程
		下载地址 http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ... 
- nodejs学习笔记<一>安装及环境搭建
		零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ... 
- docker学习笔记1 -- 安装和配置
		技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ... 
- Webpack学习笔记九 webpack优化总结
		webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ... 
- Nginx 学习笔记之安装篇
		在windows下安装Nginx其实非常简单,只需如下几个步骤: 1. 在Nginx官网下载相应版本的安装程序,上面有最新版.稳定版等各种版本,正式运营的项目建议下载最新的稳定版 2.将下载后的压缩包 ... 
随机推荐
- apache mina
			本文为博主原创,未经允许不得转载: Apache Mina(Apache Multipurpose Infrastructure for Network Applications)是一个基于Java的 ... 
- Vue之使用elementUI的upload上传组件导入csv文件
			最近干活的时候有个需求,需要将csv文件导入到mysql数据库中,前后端框架用的springboot+Vue,组件用的elementUI,下面将分步骤记录实现过程. 1.导入按钮部分: <el- ... 
- WPF|黑暗模式的钱包支付仪表盘界面设计
			阅读目录 效果展示 准备 简单说明 + 源码 结尾(视频及源码仓库) 1. 效果展示 欣赏效果: 2. 准备 创建一个WPF工程,比如站长使用 .NET 7 创建名为 WalletPayment 的W ... 
- 【linux】Linux内核结构体--kfifo 环状缓冲区
			1.前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的.缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度.例如一个进程A产 ... 
- SpringMVC07——Ajax
			Ajax AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJA ... 
- [转帖]阿里云Redis开发规范(供大家参考)
			一.键值设计 1. key名设计 (1)[建议]: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id ugc:video:1 (2)[建议]:简洁性 ... 
- [转帖]linux中的set -e 与set -o pipefail
			https://www.cnblogs.com/xingmuxin/p/8431970.html 1.set -e "Exit immediately if a simple command ... 
- [转帖]S3FS 简介及部署
			PS:文章一般都会先首发于我的个人Blog上:S3FS 简介及部署 · TonghuaRoot's BloG. ,有需要的小伙伴可以直接订阅我的Blog,获取最新内容. 0x00 前言 S3FS可以把 ... 
- [转帖]《AWK程序设计语言》笔记(1)—— AWK入门与简单案例
			原文为 <The AWK Programming Language>,GitHub上有中译版,不过有些内容翻译的比较奇怪,建议跟原版对照着看 https://github.com/wuzh ... 
- Python学习之六_同时访问Oracle和Mysql的方法
			Python学习之六_同时访问Oracle和Mysql的方法 背景 jaydebeapi 可以访问大部分数据库. 但是他有一个问题是仅能够访问一种类型的数据库. 如果同事连接两种数据库,那么就会出现问 ... 
