【整理篇】上手webpack4!安装、配置文件、loader加载及常用命令详解

本文详细介绍了webpack4的安装过程,包括全局安装与项目安装,讲解了配置文件webpack.config.js的编写,如入口和输出路径设置。此外,还涉及到了模块引入(如jQuery)、提取公共模块、CSS处理、HTML处理、图片与字体打包等方面,并列举了常用webpack命令,是webpack初学者的实用指南。
摘要由CSDN通过智能技术生成

Webpack作为前端模块打包工具,根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。由于其能够大大提高开发效率,适合大规模的多页面项目构建,很好地落实到业务而深受企业喜爱,成为目前最流行的前端构建工具之一,被称为“模块打包机”。对于webpack的深入理解及机制介绍将在日后撰文发布,本篇主要详细讲解webpack4.x版本安装、编写配置文件、对脚本、样式和文件的处理(安装loader和插件)及常用命令,实现快速上手与简单理解。

 

一. webpack的安装

      在安装之前确保已经下载安装了node.js,并已经进行npm init 初始化生成了package.json,在此基础上开始用npm安装webpack。

1.1 国内淘宝镜像cnpm

      npm由于npm服务器在国外,在安装过程中经常出现下载过慢(慢到头掉)或丢失链接的情况,称“npm被墙”,这时我们可以使用国内的淘宝镜像cnpm,输入下面命令安装:

npm install -g cnpm --registry=https://registry.npm.taobao.org

      在之后执行npm命令时,直接用cnpm代替npm,或者也可以把配置写死,即将代理网址写入配置文件中:

//通过config命令
npm config set registry https://registry.npm.taobao.org
npm info underscore

//命令行指定
npm --registry https://registry.npm.taobao.org info underscore

//编辑 ~/.npmrc 加入下面内容
registry = https://registry.npm.taobao.org

      注:上面命令写法源于网络,本人没有写入配置文件中,在后面的命令行中都将会使用cnpm代替npm。

2.2 安装webpack

      全局安装webpack。此时默认安装webpack最新版,如要安装特定版本,在webpack后加@版本号如:webpack@1.1.3。

cnpm install webpack -g

      为安装模块到项目node_modules目录下,将模块依赖写入package.json中的devDependencies 节点,输入加上--save-dev的如下命令。后面安装中会出现只有--save 没有-dev,意为安装模块到项目node_modules目录下,将模块依赖写入package.json中的dependencies 节点。主要区别为加dev的用于开发过程中,不会打包进业务代码,如测试工具、打包工具,而加--save会打包进业务代码,是项目运行必备的,如引入jquery。详细的区别见原文:https://www.limitcode.com/detail/59a15b1a69e95702e0780249.html

cnpm install webpack@4.27.1 --save-dev

      安装成功后命令行输入webpack -v能够查看到已安装的webpack版本号。

      本篇主要基于webpack 4.x 的安装,在webpack 4 当中,命令行工具cli被单独分离到webpack-cli包当中,以前的版本中它们是在同一个包内,现在需要额外安装webpack-cli才能使用命令:

cnpm install webpack-cli -g

      注:在后面的安装过程中踩了很多次版本问题的坑,经过好几波版本升降的操作,建议最初安装时就指定版本,尤其是采用低版本的童鞋。这里放上我目前的node.js版本6.15.1、webpack版本:4.27.1 以及文末的package.json 供大家参考。

      这个时候尝试打包,直接输入:webpack ,会发现打包时报错“The 'mode' option has not been set, ......"原因是没有指定没有指定mode为 development(开发模式)或者production(生产模式),这时需要在package.json文件中加入:

"scripts": {
    "dev": "webpack --mode development",      // 开发模式
     "build": "webpack --mode production",    // 生产模式
  },

      使用方法为:命令行输入npm run dev (开发模式输出的index.js没有压缩) 或npm run build (生产模式输出的index.js压缩过,内容紧凑) 可在自动生成的dist文件夹中看到。

 

二. 配置文件webpack.config.js的初次编写

      webpack.config.js是webpack打包的配置文件,我们在控制台输入一个webpack指令,默认在根目录中查找webpack.config.js并并根据该文件加载与执行相应的依赖。

      进入根目录,建立webpack.config.js文件,初次编写主要内容是入口文件路径和打包后文件的存放路径:

const path = require('path');

var config = {
  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值