前端学习----webpack入门学习

webpack是前端项目工程化的具体解决方案

主要功能:它提供了友好的前端模块化开发支持,以及
代码压缩(将空格和注释全部消除,变成一行代码)、
处理浏览器端JavaScript的兼容性(只管写高级语法,自动向下兼容。例如ie8不支持let 语法,webpack自动转换为var)、
性能优化(c3动画在低端浏览器时,自动不展示,不会报错)
等强大功能。

当然这些功能需要进行webpack配置

1、webpack的基本使用

通过实现一个小需求的方式学习webpack初使用:
1、新建项目空白目录,运行 npm init -y 命令,初始化包管理配置文件 package.json
执行过后,json文件自动生成。
在这里插入图片描述

2、新建src源代码目录
后期不用自己手动创建,现在是为了熟悉项目结构:
在这里插入图片描述

3、新建 src -> index.html 首页和 src -> index.js 脚本文件
使用VSCode 打开项目目录:创建对应文件
在这里插入图片描述

4、初始化首页基本的结构
便捷语法:生成9个li元素
在这里插入图片描述

5、运行 npm intall jquery -S 命令,安装jQuery
-S 含义:安装完成之后,将包的名字和对应的版本号记录在 dependencies下面 【尽管-S可以省略,但是加了更加明确目的】
在这里插入图片描述
jQuery安装完成之后,对应pack.json文件。就和java的maven差不多
在这里插入图片描述

6、通过ES6模块化方式导入JQuery,实现需求
在这里插入图片描述
在这里插入图片描述

代码运行:但是并没有出现想象中的效果。
并且浏览器报错:
在这里插入图片描述

报错原因:import $ from ‘jquery’ 这行代码有兼容性问题。

1.2 在项目中安装webpack

在终端运行如下命令,安装webpack相关的两个包
npm install webpack@5.42.1 webpack-cli@4.7.2 -D
在这里插入图片描述
-D 的作用和前面 -S作用一样,记录到package.json文件中
在这里插入图片描述
dependencies 节点记录的信息是,开发和上线都需要用到的依赖包
devDependencies 节点记录的信息是,只有在开发阶段会被用到的依赖包

1.3 在项目中配置webpack

1、在项目根目录中,创建名为 webpack.config.js的webpack配置文件,并初始化如下配置
module.exports 这是node里面的导出语法。webpack.config.js配置文件中,向外导出一个配置对象。这个配置对象给webpack使用。
mode 代表webpack的运行模式
在这里插入图片描述
2、在package.json的script节点下,新增dev脚本
// script 节点下的脚本,可用通过npm run执行 例如 npm run dev
在这里插入图片描述

3、在终端运行npm run dev 命令,启动webpack进行项目打包

自己电脑 node.js 和 webpack版本不匹配
在这里插入图片描述
解决方法:要么降低你nodeJS的版本,要么升级你webpack的版本。
npm install webpack -D 安装最新版本的webpack
在这里插入图片描述
通过上方信息, webpack将 index.js和jquery.js 合并成了一个文件

运行成功之后,你会看见你的工程目录下 多了一个dist目录,里面有个main.js文件。这个文件就是webpack给你生成的。
将main.js 替换之前的index.js。那么之前的兼容性问题就解决了。
在这里插入图片描述

2、webpack代码压缩

上面学习了webpack的安装。
然后还使用了webpack解决浏览器兼容问题。

但是我们查看main.js文件,可以发现,并没有进行代码压缩,依然存在换行符和注释
在这里插入图片描述

2.1 webpack代码压缩步骤

只需要将webpack.config.js文件中的 development 换成 production就行了。然后重新运行 脚本 npm run dev
在这里插入图片描述
明显看到,体积变小,打包时间变长
在这里插入图片描述

3、webpack运行说明

webpack.config.js 是webpack的配置文件。webpack在真正开始打包构建之前,会先读取这个配置文件,从而基于给定的配置,对象项目进行打包。

注意:由于webpack是基于node.js开发出来的打包工具,因此在它的配置文件中,支持使用node.js相关的语法和模块进行webpack的个性化配置。

在webpack 4和5 的大版本中,有如下默认约定:
1、默认的打包入口路径为 src - > index.js (如果找不到这个路径文件,打包就会操作)
2、默认的输出文件路径为 dist - > main.js
注意:可以在webpack.config.js中修改打包的默认约定

在webpack.config.js配置文件中,通过entry节点指定打包的入口。通过output节点指定打包的出口。
__dianame 双下划线dianme 代表当前文件所处的目录
在这里插入图片描述

现在有一个问题,在项目开发阶段,我修改了index.js的代码,修改之后我还需要 执行 npm run dev脚本才能生效。这样非常麻烦。

4、webpack插件介绍
4.1、webpack-dev-server插件

上面的问题,修改了index.js文件之后,还要重新运行脚本,很麻烦。这个插件就会解决这个问题。
每当修改了源代码,webpack就会自动进行项目的打包和构建。

安装插件
npm install webpack-dev-server@3.11.2 -D

配置插件
1、修改package.json - > script中的dev命令:

  "scripts": {
    "dev": "webpack serve"
  }

2、再次运行npm run dev 命令

3、在浏览器中访问 http://localhost:8080地址,查看自动打包效果
注意:webpack-dev-server 会启动一个实时打包的http服务器
终端不会退出,一直监听代码变换。
如果 安装了 server执行npm run dev 报错,那么又是版本问题,要想webpack从命令行调用,还需要安装CLI。
安装即可 npm i --save-dev webpack-cli
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值