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

电力电子技术文章:ACOT控制模式在Buck变换器中的频率稳定性分析

本文深入分析了ACOT控制模式在Buck变换器中实现频率稳定性的原理与优势。通过对比传统COT模式,阐述了ACOT如何通过自适应调整导通时间,将开关频率锁定在设定值,从而有效应对输入电压与负载变化。文章还探讨了其在轻载DCM模式下的高效与平滑切换特性,并提供了关键的设计考量与实战指南。

cc789的博客 1149

webpack4.0教程

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

di_pingxian的博客 271

WPS占用C盘空间解决方案与优化技巧

办公软件在长期使用过程中会产生大量缓存和历史文件,这些文件往往隐藏在系统目录中,导致磁盘空间被无声占用。以WPS为例,其版本历史备份、云同步缓存和模板库是主要空间占用源。通过分析文件存储机制,可以定位到具体的缓存路径,如AppData目录下的Kingsoft文件夹。针对这一问题,有效的解决方案包括手动清理、自动化脚本和注册表优化。对于需要持续监控的场景,可以结合PowerShell脚本和任务计划实现自动化管理。在实际应用中,这些技术不仅适用于WPS,也可迁移到其他办公软件的空间优化中,是每位IT运维人员和高

weixin_30788239的博客 455

深入浅出DNS系列(一)- DNS杂谈

黄丝玛:班达山,你好,我记性不好,你告诉我搜狐、新浪的网站IP地址好吗? 班达山:你问问DNS先生吧,他专门干这买卖的

jiangsd198的博客 4129

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

QMI8658姿态传感器实战:从校准到自检的完整避坑指南

本文详细解析了QMI8658姿态传感器的校准与自检流程,提供了从硬件环境搭建到高级功能开发的完整避坑指南。通过真实案例揭示电源设计、接口优化、温度补偿等关键细节,帮助开发者提升传感器精度和可靠性,适用于工业级应用场景。

weixin_29184075的博客 455

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

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

dingshuangyong的博客 967

vue3的面试题

vue3的面试题

jiang7701037的博客 6263

STC32G电调调试血泪史:从TPH1R403NL MOS管烧毁到PWM信号异常排查全记录

本文详细记录了STC32G无刷电调调试过程中的常见问题与解决方案,包括MOS管烧毁、PWM信号异常等关键故障排查。通过电源系统检测、驱动电路验证及三相平衡调试等实战经验,帮助硬件爱好者快速定位问题,提升电调调试效率。特别针对TPH1R403NL等MOS管的保护措施进行了重点分析。

weixin_33736048的博客 551

03-快速理解Webpack的使用

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

JJY的博客 279

CST软件中SPICE模型的高效导出与转换技巧(txt到cir实战指南)

本文详细介绍了在CST Studio Suite中高效导出与转换SPICE模型的实战技巧,重点讲解了如何将txt格式的模型转换为通用的cir格式。内容涵盖三种模型存在形式的处理方法、格式检查与内容清理、端口一致性验证等关键步骤,并提供了利用LTspice Export功能、批处理脚本以及结果一致性校验等进阶指南,帮助工程师实现场路协同仿真模型的无缝迁移与应用。

silver的专栏 1183

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

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

zyf_baby的博客 1948

【WRF-Chem教程-附录 C】闪电-NOx 参数化方案详解

闪电-NOx 参数化方案详解

WW、forever的博客 974

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Webpack,凉了

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

xmt1139057136的专栏 991

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IMSL CNL 7.0.0 (x86-64)Crack

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

从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、付费专栏及课程。

余额充值