由于初次接触 webpack(官网),对很多方面都不是很理解,在查找部分资料后记录一下自己的见解(本文实践基于webpack4)。


1. 个人见解

  • 简单来说,webpack就是js的 打包 工具。个人认为比较类似于maven构建,打包java项目。
  • 它能够根据 依赖关系 整合,压缩打包js,通过相关配置还能打包html/css,图片等静态资源文件。(把乱七八糟的文件塞到一块)
  • 打包后的项目,js文件会被整合,减少请求量 。可以压缩内容,提升加载速度,同时具有一定安全性。

2. 安装webpack

2.1 所需环境

安装webpack,首先需要电脑中已经安装了nodenpm,这一步就不说了。

2.2 安装步骤

webpack安装方式有 全局安装 和 局部安装 ,两种方式都需要安装一遍。安装较慢的可以使用淘宝镜像cnpm。

并且 webpack4 在安装时需要同时安装两个东西webpackwebpack-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学习笔记(一)安装与试用的更多相关文章

  1. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  2. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  3. webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件

    一 .webpack学习环境准备: 1:window系统 2:安装node.js  官方网址 下载好后下一步下一步安装即可 安装步骤略过....... 3:nrm的安装 打开cmd命令控制台 输入:n ...

  4. 【原】webpack学习笔记

    之前在react的项目中有用过webpack,不过没有认真的去研究,这段时间又重新好好的学习一下webpack,发觉 webpack是一个很强大的东西.而且很好用,方便,接下来主要是做一下学习的笔记 ...

  5. 更博不能忘——webpack学习笔记

    webpack是前端构建系统就像grunt和gulp(之前有学习过grunt所以也就大概明白webpack是个什么东西),所以说前端技术大部分还真是相通的,现在觉得当时多看的东西并不白费,虽然长时间不 ...

  6. CUBRID学习笔记 2 安装教程

    下载地址  http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ...

  7. nodejs学习笔记<一>安装及环境搭建

    零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...

  8. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  9. Webpack学习笔记九 webpack优化总结

    webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...

  10. Nginx 学习笔记之安装篇

    在windows下安装Nginx其实非常简单,只需如下几个步骤: 1. 在Nginx官网下载相应版本的安装程序,上面有最新版.稳定版等各种版本,正式运营的项目建议下载最新的稳定版 2.将下载后的压缩包 ...

随机推荐

  1. apache mina

    本文为博主原创,未经允许不得转载: Apache Mina(Apache Multipurpose Infrastructure for Network Applications)是一个基于Java的 ...

  2. Vue之使用elementUI的upload上传组件导入csv文件

    最近干活的时候有个需求,需要将csv文件导入到mysql数据库中,前后端框架用的springboot+Vue,组件用的elementUI,下面将分步骤记录实现过程. 1.导入按钮部分: <el- ...

  3. WPF|黑暗模式的钱包支付仪表盘界面设计

    阅读目录 效果展示 准备 简单说明 + 源码 结尾(视频及源码仓库) 1. 效果展示 欣赏效果: 2. 准备 创建一个WPF工程,比如站长使用 .NET 7 创建名为 WalletPayment 的W ...

  4. 【linux】Linux内核结构体--kfifo 环状缓冲区

    1.前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的.缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度.例如一个进程A产 ...

  5. SpringMVC07——Ajax

    Ajax AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJA ...

  6. [转帖]阿里云Redis开发规范(供大家参考)

    一.键值设计 1. key名设计 (1)[建议]: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id ugc:video:1 (2)[建议]:简洁性 ...

  7. [转帖]linux中的set -e 与set -o pipefail

    https://www.cnblogs.com/xingmuxin/p/8431970.html 1.set -e "Exit immediately if a simple command ...

  8. [转帖]S3FS 简介及部署

    PS:文章一般都会先首发于我的个人Blog上:S3FS 简介及部署 · TonghuaRoot's BloG. ,有需要的小伙伴可以直接订阅我的Blog,获取最新内容. 0x00 前言 S3FS可以把 ...

  9. [转帖]《AWK程序设计语言》笔记(1)—— AWK入门与简单案例

    原文为 <The AWK Programming Language>,GitHub上有中译版,不过有些内容翻译的比较奇怪,建议跟原版对照着看 https://github.com/wuzh ...

  10. Python学习之六_同时访问Oracle和Mysql的方法

    Python学习之六_同时访问Oracle和Mysql的方法 背景 jaydebeapi 可以访问大部分数据库. 但是他有一个问题是仅能够访问一种类型的数据库. 如果同事连接两种数据库,那么就会出现问 ...