简单地使用webpack进行打包

2023-11-19

下面的webpack是4.14.0版本的(当时我学的,更新太快了,现在5.10.0了),你学习的时候,用的是最新的,就不要往下看啦,官方文档已经更新教程了

这是我看5.10.0教程后,简单搭建的打包demo,可以参考。或者你也自己去官网看文档搭建webpack5.10.0

webpack5.10.0-demo

  之前写的有些零散,现在一步步再重新写.记住: 如果你步骤对,但是始终没成功, 那么请不要烦心, 因为webpack版本4以上, 语义更加严格,命令有一些已经发生改变了,所以并不是你的问题!

一.确保已经安装了nodeJS之后.

二. 创建webpack-demo,我的是f盘下的,

2.然后进入这个文件夹:

3.进行初始化,一路都是选择默认(回车就可以):

查看初始化后的文件夹,里面只有一个json文件:

4.  接下来装webpack

npm install webpack --save-dev

安装完成:

查看项目下,发现已经:

 

5.然后用编译器打开当前项目,我的是HBuilder,如下图:

在这个文件下创建一个demo.js文件,并创建一个函数.

6.然后我们尝试进行打包,回到命令框

原本输入了 webpack demo.js demo.bundle.js,然后报错了

这是为什么呢?原因是我的webpack版本过高,原来的命令已经不适用了

如下查询版本号:

那应该如何解决?

更换打包命令为: webpack demo.js -o demo.bundle.js

其中 demo.dundle.js是打包后生成的文件的文件名

其中的一些参数值:

Version:webpack版本

time:这次打包所花费的时间

列表信息

Asset:打包这次生成的文件

Size:这次生成文件的大小

Chunks:这次打包的分块

chunk Names:这次打包的名称

接下来查看以下项目:

 

可以看到demo.js已经被打包为了demo.bundle.js文件,但是,这个并没有打包成功! 因为打包的时候没有出现红色的error了,但是还有黄色的警告.如下图.

黄色警告:是因为webpack4引入了模式,有开发模式,生产模式,无这三个状态

以及打开我们生成的文件,代码如下:

  可以看到末尾并没有生成我们所打包的demo.js的信息.

黄色部分的警告的意思是,没有设置模式,有开发模式和生产模式两种,接下来,找到package.json.添加上"dev"和"build"这两个信息以及他们的值.

 

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack --mode deveplopment",
    "build": "webpack --mode production"
  },

 

 

先了解两个命令:

npm run dev (开发环境输出的demo.js没有压缩),也就是这个形式的,如下图,这是平时我们写代码的形式:

 

npm run build (生产模式输出的demo.js压缩过) ,如下图:

    7.全局安装webpack-cli

 

npm install --save-dev webpack-cli -g

8. 安装完成后, 输入命令  npm run dev

看到这么多错误貌似有点头疼啊!

原因是,你输入命令 npm run dev 的时候,会默认打包src文件夹下的index.js文件,打包完成后是main.js文件(放在dist),你有没有发现我们一开始安装webpack的时候并没有这个文件生成,所以更别提什么index.js文件了,所以这些我们需要手动创建

我们先创建src文件.还有一个dist文件,存放默认的打包生成的文件, 然后在src里再创建index.js文件

9.接下来,输入命令 webpack-demo,有些人奇怪,版本号怎么变了成4.14.0了,不好意思,我中途更新了,但是不要紧.

然后看项目

这个main.js文件就是执行npm run dev 后,默认把我们创建的index.js打包成了main.js,然后放在dist文件夹里了

我们看一下main.js文件,很多都是打包后给生成的代码.

然后去末尾看一下我们写的index.js被被放进去没有,从下图的代码可以看到已经包含进去了,说明我们打包成功了,为什么要做这一步呢,那当然是测试到底能不能进行打包了.

10.到这一步了,打包demo.js(不是默认的文件的时候), 黄色警告还是出现!那么应该怎么解决呢?那就是webpack的版本问题,命令不同了

应该使用如下命令进行打包:

 npx webpack ./demo.js -o demo.bundle.js --mode development

 

很神奇吧? 黄色警告没有了!!

 

查看项目,可以看到已经正确打包了:

查看文件内容:

我们的代码,已经被打包在末尾:

 

这样,我们简单的配置就已经完成了!

然后我们尝试用一下已经打包好的文件,新建hello.html

可以看到已经成功打包了!!

如果你在学习webpack的时候,出现各种问题,更多时候是因为版本的问题,并不是你的问题, 不要灰心. webpack 4语法相对来说比较严格了,根据版本去寻找解决问题的方法才更容易快速地解决问题.不过上述写的东西只是webpack的冰山一角...........

 

webpack的一些相关命令

  如果我们更改我们写的代码的时候,就需要重新进行打包,那就是更改一次又手动进行打包一次,那是很麻烦的,所以我们可以使用如下命令监听这个事件,源文件一更新,就会进行自动打包.一开始watch时关闭地,我需要将它打开.

npx webpack --mode development --watch

 

 注意: 这个命令只是单纯监听了默认的打包路径,也就是能监听到src下index.js的变化,也能够随将变化时进行保存刷新后其自动打包,但是,并不能监听到demo.js.  还有就是你的执行这个命令的时候,它必需属于一直监听的状态, 如果被停止了,那监听状态也停止.

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单地使用webpack进行打包 的相关文章

随机推荐

  • JS字符串转换为JSON的四种方法

    JS字符串转换为JSON的四种方法 1 jQuery插件支持的转换方式 示例 parseJSON jsonstr jQuery parseJSON jsonstr 可以将json字符串转换成json对象 2 浏览器支持的转换方式 Firef
  • 批量获取文件的摘要(md5、sha1、sha256)

    批量获取文件的摘要 md5 sha1 sha256 0x01 功能 0x02源码 0x03运行 0x01 功能 刚刚写了一个小工具 用于批量获取文件的摘要 md5 sha1 sha256 具体用法 gt gt gt gt python3 g
  • 文件服务器中按用户查询文件夹权限,服务器文件夹权限设置

    服务器文件夹权限设置 内容精选 换一换 该任务指导用户使用Loader将数据从SFTP服务器导入到HBase 创建或获取该任务中创建Loader作业的业务用户和密码 确保用户已授权访问作业执行时操作的HBase表或phoenix表 获取SF
  • PO模式+数据驱动(TPshop网站的登录模块进行单元测试以及区分正向逆向用例)

    一 区分正向逆向用例 思路 在测试数据中添加一一个标识正向用例或逆向用例的标记 如 True False 步骤 调用登录方法 此登录方法中 只有输入用户名 输入密码 输入验证码 点击登录按钮 判断用例标记 判断安全退出是否存在 点击安全退出
  • 玩转 gpgpu sim 01记 —— try it

    1 短介绍 gpgpu sim 是一个gpu模拟器 可以让cuda openCL程序运行在一个软件模拟器上 而不需要硬件GPU 2 目标 用最简单省事的方式跑通一个gpgpu sim的仿真 3 gpgpu sim 一点项目特性 开发比较早
  • Java switch case 语句

    Java 的 switch case 语句是一种常用的控制流语句 用于基于不同的输入值执行不同的操作 本文将详细介绍 Java switch case 语句的作用 用法以及在实际工作中的应用 一 switch case 语句的作用 swit
  • QT 定时器使用事项

    情景 有一种特殊情况 一旦窗口系统事件队列中的所有事件都已经被处理完 一个定时为0的QTimer就会到时间了 这也可以用来当提供迅速的用户界面时来做比较繁重的工作 优点 QT app启动后不做任何操作 程序CPU占比已经达到90 以上 缺点
  • vue cli3 vue.config.js 配置详情

    module exports 基本路径 baseUrl process env NODE ENV production 输出文件目录 outputDir dist 默认dist 用于嵌套生成的静态资产 js css img fonts 目录
  • APK加壳原理简述

    先把核心原理记录一下 代码随后再补 PRE dex文件结构知识和加壳原理 先看下dex文件的基本结构 对于加壳主要关注3个关键字 1 checksum 文件校验码 使用alder32算法 校验文件除了maigc和checksum外余下的所有
  • 机器人编程和python的区别_机器人编程和少儿编程的区别

    随着少儿编程的大火 很多家长看懂了人工智能的未来趋势 都开始咨询少儿编程 除了少儿编程还有机器人编程 那么会有家长纠结 学哪个课程对孩子的教育发展和未来更好 那么要解决这个问题 就必须弄明白机器人和少儿编程的区别 机器人编程 在编程的基础上
  • Linux vim编辑器使用指南

    vim编辑器介绍 Vim是从vi发展出来的一个文本编辑器 代码补完 编译及错误跳转等方便编程的功能特别丰富 在程序员中被广泛使用 Vim 具有程序编辑的能力 可以主动以字体颜色辨别语法的正确性 方便程序设计 基本上 vim 共分为三种模式
  • Linux中ifconfig的使用

    ifconfig命令的全称是network interface configuring 用来配置Linux系统中的网卡信息 使用ifconfig命令配置的网卡配置信息 只是临时生效的 当网卡或者是机器重启 配置就会消失 只有通过修改配置文件
  • 分布式系统---幂等性设计

    分布式系统 幂等性设计 WEB资源或API方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用 幂等性是系统的接口对外一种承诺 而不是实现 承诺只要调用接口成功 外部多次调用对系统的影响是一致的 幂等性是分布式系统设计中的一个重要概
  • 操作系统笔记六(文件管理)

    1 文件逻辑结构 1 1逻辑结构的文件类型 分类 有结构文件 例如 PNG文件 无结构文件 1 2顺序文件 1 3索引文件 2 辅存的存储空间分配 2 1分配方式 连续分配 直接分配连续的存储空间 链接分配 隐式链接 在盘块内指定下一个盘块
  • 《华为机试》刷题之HJ88 扑克牌大小

    一 题目 二 示例 三 代码 dic 3 1 4 2 5 3 6 4 7 5 8 6 9 7 10 8 J 9 Q 10 K 11 A 12 2 13 joker 14 JOKER 15 while True try s1 s2 input
  • taking address of temporary错误

    前些天将一个项目从VS2013移植到Qt上 遇到了这样一个问题 Dispatch gt XCDispatchMessage linev error taking address of temporary这段代码从VS2013通过了编译 但是
  • 第十三章 公告板与粒子系统 标签: ogre公告板粒子系统ogre粒子系统

    Ogre编程入门与进阶 第十三章 公告板与粒子系统 标签 ogre公告板粒子系统ogre粒子系统 2015 07 05 14 41 1365人阅读 评论 1 收藏 举报 分类 Orge模块 16 版权声明 本文为博主原创文章 未经博主允许不
  • macbook百度网盘下载保存的文件在哪❓找不到

    困扰我好久的问题终于被我解决了 之前在AppStore里下载百度网盘 然后在百度网盘里下载文件 除了能直接打开以后 怎么都找不到文件位置 后来我终于知道了 是因为在AppStore里下载的百度网盘根本不是mac版的 如果你想下载mac版的百
  • 安卓TabLayout的使用

    安卓TabLayout的使用 我们在进行安卓开发时 常常会使用到ViewPager 为了展示更美观的效果 我们经常会选择第三方的诸如TabPageIndicator等配合ViewPager使用 但是TabPageIndicator已经很老了
  • 简单地使用webpack进行打包

    下面的webpack是4 14 0版本的 当时我学的 更新太快了 现在5 10 0了 你学习的时候 用的是最新的 就不要往下看啦 官方文档已经更新教程了 这是我看5 10 0教程后 简单搭建的打包demo 可以参考 或者你也自己去官网看文档