webpack从0到手写webpack_03

构建工具03 Webpack模块热重载(HMR) 使用webpack-dev-server 实现的Hot Moudle Replacement(HMR)让我们在开发时修改代码并保存后,不必手动刷新浏览器,而是让浏览器通过新的模块替换老的模块。这样可以让我们在保证当前页面状态的前提下,让新的代码生效,就如同在Chrome的控制台修改CSS样式一样。 阅读详情

webpack从0到1——03

搭建webpack环境

webpack是基于node开发的模块打包工具,本质上是由node实现的,我们首先就要按照nodejs环境,最好是安装最新版本的nodejs,因为阅读webpack文档,打包速度有两个非常重要的点,一个是要保持nodejs版本非常的新,另一个就是webpack版本非常的新,webpack会利用nodejs中的一些新的特性来提高给它的打包速度,webpack作者也提到了,在某些复杂的情况下,使用新版本的webpack(4)打包比旧版本(3)的打包效率提高90%以上

在这里插入图片描述
node安装左侧LTS版本,这是稳定版本。右侧Current未最新版本,里面含有许多尝试性的API,可能会由很多小bug,因此我们为了稳定同事比较新,我们选择左侧的进行下载安装。
网上由很多nodejs环境的搭配教程,我这里就不详细说明了

在cmd命令行运行以下命令,出现版本号,就证明安装好了
在这里插入图片描述

我们创建一个新的项目demo03,然后在终端中运行

npm inti -y

生成了一个package文件,里面描述了node包里面的一些信息。我们可以在里面增加一些内容,private:true,代表我们的项目是一个私有的项目,他不会被发布到npm的线上仓库里面去,我们可以把main去掉,因为我们这个项目不会被外界引用,只是自己来用没有必要向外面暴露一个js文件,script中的东西,目前也可以去掉
这样的话我们package.json就配置好了
在这里插入图片描述
项目初始化之后我们就开始安装webpack

webpack安装有两种方式
第一种是全局安装的方式

npm install webpack webpack-cli -g 

但是这种全局安装webpack的方式,我非常不推荐大家使用,全局安装webpack有什么
问题呢?举个例子,假设我有两个项目,都用webpack打包,webpack的版本号是固定的,但假设我的一个项目是 通过webpack3进行配置的,另外一个项目是webpack4或者webpack5。如果你全局安装的是4和5,那么webpack为3的项目是运行不起来的。你只能删除webpack4重新安装webpack3,在配置运行项目

第二种用法就是在项目内安装webpack。首先全局卸载webpack

npm uninstall webpack webpack-cli -g

项目内安装webpack

npm install webpack webpack-cli --save-dev

此时你运行

webpack -v

在这里插入图片描述

发现找不到webpack这个命令,因为我们是安装在项目内,并不是安装在全局,但是node提供了一个命令叫做npx,我们通过npx 来运行webpack

npx webpack -v

此时打印出webpack 和 webpack-cli的版本号
在这里插入图片描述

这种项目内安装webpack的好处是什么,再给大家举个例子。我们在桌面上再去创建一个项目demo04。这个项目我希望用的是 webpack4.x的版本,
首先初始化包,去掉main 和script的内容,添加 “private”:true

npm init -y

在这里插入图片描述

通过下面命令查看webpack版本下

npm info webpack

在这里插入图片描述
我们选择webpack4 4.44.4这个版本进行下载安装

cnpm install webpack@4.44.2 webpack-cli -D

此时运行 npx webpack -v 命令我们可以看见项目内webpack的版本号为4.44.2
在这里插入图片描述

Webpack配置编译SCSS 原文地址: https://justforuse.github.io/blog/2019/03/webpack-compile-scss/ 现在框架都提供了一套完整的编译配置,比如Vue; 有时只是需要编译scss文件,在使用gulp的方式时遇到了无法识别SCSS的~语法的问题,其实也可以通过一些配置来解决,只是觉得既然webpack是主流,那不妨总结一套专门编译scss的配置 webpack.c... 阅读详情

相关推荐

(03)webpack 配置处理html文件

webpack处理html文件需要使用html-webpack-plugin插件 webpack使用插件一般有三个步骤 1安装 2引入 3使用 1 安装 2 引入和使用 引入使用require 语法 . const HtmlWebpackPlugin = require(require.resolve('html-webpack-plugin')); 使用 HtmlWebpackPlugin 是一个构造函数,new一个实例对象即可 new HtmlWebpackPlugin() const { res

秋来九月八 1092

手写webpack系列一:了解认识loader-utils

Created By JishuBao on 2019-03-29 12:38:22 Recently revised in 2019-04-01 12:38:22   欢迎大家来到技术宝的掘金世界,您的star是我写文章最大的动力!GitHub地址    文章简介: 1、webpack module简介 2、rules的使用 3、loader-utils是什么? 4、api实现 5、...

weixin_33795806的博客 6114

python后端的支付宝小程序用户认证问题(alipay-sdk-python、pycrypto无法安装)

python后端的支付宝小程序用户认证问题(alipay-sdk-python、pycrypto无法安装) 写在前面 事先说明,本人不是大佬,我只是在不断探索的途中找到了解决这个问题的方法,之前在网上搜索的时候没有看到相关文章,所以就来简单讲一下。 正文 借着蚂蚁金服小程序大赛开通了支付宝小程序个人开发者,尝试将一个微信小程序的项目移植到支付宝上,支付宝对于用户唯一id的获取比微信要复杂很多,微信...

weixin_43102379的博客 3642

webpack4.0教程

课程简介 本课程主要面向1-5年工作经验的前端开发同学,讲师通过自己在阿里巴巴等国内一流互联网公司的多年开发和面试经验,整理出一线大型互联网公司中高级工程师必备的核心技能。 课程面向对webpack感兴趣,需要学习webpack和深入webpack原理,包括但不限于IT从业者。课程关注学习者的学习效果,通过科学的课程设计和细致的学习管理,解决学员在webpack学习中遇到的困难。 课程目录 01...

di_pingxian的博客 271

软件测试学习笔记(二)图覆盖

软件测试学习笔记(二)图覆盖 课程链接软件测试_中国大学MOOC 2.1 测试中的图 2.2 图覆盖准则 1、什么是图? 点的集合和边的集合。点或者结点,有穷非空的集合。边是点对。 2、图为什么在软件测试中具有重要地位? 所谓软件测试就是将软件变作一张图,然后覆盖它,不仅仅是软件,图更是计算机科学重要的结构。 3、软件测试中的图是如何得到的? 常见的图可以来自源代码,常见的是控制流图,还有各种各样...

DZFinder的博客 1420

SAP FB03凭证修改实战:巧用BAPI FI_DOCUMENT_CHANGE更新抬头与行项目

本文详细介绍了SAP FB03凭证修改的实战技巧,重点解析了BAPI FI_DOCUMENT_CHANGE的使用方法。通过该接口,用户可以在不冲销原凭证的情况下直接更新抬头文本(BKTXT)和行项目文本(SGTXT),确保凭证编号连续且符合审计要求。文章包含核心机制解析、完整实现步骤、错误处理方案以及高级应用场景,帮助开发者高效完成SAP财务凭证修改。

weixin_29251567的博客 423

vue03-webpack配置

webpack:静态模块打包器 除了合并代码, 还可以翻译和压缩代码 less/sass -> css ES6/7/8 -> ES5 webpack-使用前-准备 1、初始化包环境 yarn init -y 2、安装依赖包 yarn add webpack@5.31.2 webpack-cli@4.6.0 -D 3、在package.json中, 配置scripts(自定义命令) scripts: { "build": "w...

liangaoyun的博客 2254

STM32H723串口接收全为0 & CAN错误中断问题

STM32H723串口接收全为0 和 叠加的导致CAN错误问题

weixin_38743772的博客 3916

0x03 webpack源码分析之compiler的构建

前言 上一章分析了启动代码,并且在webpack-cli/cli.js里下了几处断点。今天从compiler = webpack(options)跳入,继续跟踪分析。 try { compiler = webpack(options);// break here } catch (err) { ............. } webpack函数 const webpack = (option...

dingshuangyong的博客 967

瑞萨单片机,把CS文件转换为CC

1、打开CC的软件: 点击坐上角的"START" 点击"Create New Project"的"GO": 导入工程: 如下图设置后,点击"Create" 2、进入到CC的开发界面: 可以看到原启动库文件以asm文件的方式直接出现在工程中: 删除新生成的main.c,保留导入的r_main.c(以你自己的代码为准): 注意添加所有的头文件路径: 点击"...

weixin_37611121的博客 1228

SAP-PLM传输MBOM传输至SAP

BOM 项目文本 (行 2)PLM创建及修改BOM接口。PLM 创建BOM接口抬头。BOM 项目文本(行1)PLM 创建BOM接口抬头。PLM BOM 错误消息。PLM BOM接口组件。组件数量 (BTCI)

qq_32198063的博客 432

03-快速理解Webpack的使用

快速理解Webpack的使用 一、什么是Webpack? 一个前端资源模块化管理和模块打包工具。 二、Webpack的作用 试想一下,我们在开发一个html文件时候,有时候可能会引用十几个js文件,而有时候因为他们存在依赖关系,顺序不能乱,同时对于ES6等新规范、less和sass等CSS预处理都不能很好解决,而Webpack就是处理这些问题的一个工具。它可以通过一个入口文件(main.js),从这个文件开始找到项目中的所有依赖文件并处理他们,最后打包成一个或多个浏览器可以识别的JavaScript文件。如

JJY的博客 279

LangGraph 实战教程:搭建一个智能办公多Agent协作平台

只存储必要的信息:不要把所有的原始数据都存储在状态中,比如销售数据可以存储在数据库或向量数据库中,状态中只存储数据的 ID 或摘要。使用类型提示:避免类型错误,提高代码的可维护性。支持增量更新:LangGraph 默认支持状态的增量更新(通过reduce函数),比如messages列表可以通过追加新消息的方式更新,而不是每次都重新创建整个列表。Normal Edge 的定义非常简单,只需要在StateGraph对象(稍后会详细讲解)上调用add_edge# 创建一个 StateGraph 对象。

SuperAGI2025 221

从0到1使用webpack搭建react脚手架

好多前端童鞋工作多年依然不会使用webpack搭建react脚手架,本文就介绍下如何从零开始搭建一个属于你自己的前端脚手架,提高自己的工程化实力,同时也提高团队的开发效率。

zyf_baby的博客 1948

基于STM32的录音机设计(STM32F103+VS1053B)

本项目设计并实现了一款基于STM32微控制器的便携式录音机。该录音机采用STM32F103C8T6作为主控芯片,结合VS1053B音频编解码模块、SD卡存储、OLED显示屏以及按键模块,提供了手动录音、自动录音和录音回放等多种功能。

1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Webpack,凉了

在刚刚结束的 VueConf2021 中,除了 Vue 3.0 以外,另外一个亮点就是下一代构建工具 Vite 了。在尤雨溪分享的【 Vue 3 生态进展和计划】的演讲中,尤大神还特意提到...

xmt1139057136的专栏 991

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

webpack随笔03-sass

【前言】 sass,css预编译语言的一种,还有less,stylus等,详见:Sass: Syntactically Awesome Style Sheets 简单来说就是自定义了一种语言,可以很方便的写css,并且最终会编译为css文件, 简单对比一下, less,由于bootstrap使用,所以用的人比较多,但是没有sass好用 sass,比较好用,之前基于ruby的问题,sass缩进的问题都有改善 【几种版本】 在官网上可以看到sass有几种版本 dart sass,这...

uikoo9的专栏 1398

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

从0开始认识Webpack

Webpack 中 一切(JS, 图片…)皆为模块。 Webpack 配置灵活 & 具备强大的插件化扩展能力。 Webpack 需要了解诸多概念 entry output mode loaders plugins 热更新 code spliting tree shaking … Webpack 的学习曲线 Webpack 打包速度 Webpack 打包体积 页面加载时性能优化 … 本文档分为四大章节 1. 基础篇 掌握 Webpack 的核心概念和开发必备技巧 2. 进阶篇 编写 .

weixin_42244691的博客 249

Vue_03_webpack的使用

开始

LycLhsYYY的博客 274

Webpack从0到1学习

Webpack Webpack起步 准备工作 本地安装webpack webpakc依赖node.js,先下载node.js,再使用包管理工具npm下载webpack 文件夹和文件夹解析 dist文件夹:存放打包后的文件 src文件夹:存放写的源文件,包含js文件夹、css文件夹等。 main.js 入口文件 放在src的最外层,不要放在js文件夹里。功能相关东西放在js文件夹中。 index.html 首页 package.json 通过npm init生成 js文件打包 在cmd中进入当前项目

一只蒻蒻的博客 354

03webpack--输入webpack--自动打包

如何实现时时跟新我写的代码 此时就需要有一个配置文件了 webpack.config.js这个文件 这个文件是在跟目录下哦 webpack是基于node去构建的 所以你的依法和node还是很相似的哦 在配置文件中需要手动的指定配置文件的入口和出口 wabpack.config.js文件最基本的配置哦 文件在跟...

weixin_30301183的博客 98

玩转webpack(03):webpack进阶使用

一、自动清理构建目录 二、自动补齐CSS3前缀 三、移动端px自动转换为rem 四、静态资源内联 五、多页面应用打包通用方案 六、使用source map 七、基础库分离(externals) 八、提取页面公共资源 九、Tree Shaking的原理和使用 十、Scope Hoisting的原理和使用 十一、代码分割和动态import 十二、在webpack中使用ESLint ** eslint-loader安装报错? 十三、webpack打包库和组件

大香蕉的博客 1257

webpack-03搭建vue2项目

vue-template-compiler:vue代码中template转换为html。下载loader:用于代码转换,比如sass->css es6->es5。这里需要注意一下,下载vue时候需要指定vue2版本:npm i vue@2。webpack-cli:提供终端命令去调用webpack。而且vue-loader使用15.9.3即可。vue-loader:vue代码转换为js。生成package.js文件。

weixin_65116989的博客 675

vue03webpack

在脚手架里不受驼峰命名的限制,子传父 mom install npm run serve 父子组件通信案例 修改input值,然后父子组件中的值都变成输入的值 props应该在父组件内修改data函数,防止报错 对输入框进行监听,当输入框的数值改变后,写在methods里,并通过emit传出去 watch监听也可以 父组件访问子组件$children $refs 在子标签添加ref=“aaa” 访问父组件parent访问根组件parent 访问根组件parent访问根组件root slot插槽,组件的复用性

qq_45129167的博客 204

Vue2.0开发之webpack-dev-server(03)

webpack-dev-server介绍webpack-dev-server插件安装与配置webpack-dev-server原理介绍more通过安装和配置第三方的插件,可以拓展webpack的能力,从而让webpack用起来更方便。本文介绍webpack的插件webpack-dev-serverwebpack-dev-server生成的bundle.js在根目录下有一份(无实际文件),放到内存中,没有放到物理磁盘中。

我的博客 1035

webpack3升级webpack4

为了优化包体积大小,想要将老项目的webpack3升级到webpack4,再升级到webpack5 一、升级版本 1、webpack ^3.1.0 => ^4.29.6 2、webpack-cli ^3.1.2 => ^3.3.0 3、webpack-dev-server ^2.11.3 => ^3.2.1 4、html-webpack-plugin ^2.30.1 => ^3.2.0 5、vue-loader ^13.3.0 => ^15.7.0 (不升级,会报找.

litCabbage的博客 1561
上一篇: webpack从0到手写webpack_02
下一篇: webpack从0到手写webpack_04
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值