
webpack源码
信海利世
一叶扁舟难明理,两条主线方对齐。燕过留痕强记忆,代码躬行破迷离。横批-与人分享我受益
大前端技术爱好者,9年项目经验,大前端技术研究、总结、分享者:包括但不限于node核心api、node服务端、前端工程化、三大mvvm框架、H5游戏开发、各类小程序、app混合开发等。
持续学习:编译原理、数据结构算法、设计模式、操作系统、容器化、计算机原理、嵌入式、网络协议等。
执拗练习:dota2 祈求者(卡尔)。
展开
-
一次给开源软件提交贡献经历(svg-sprite-loader:发现问题、分析问题、提交issue、提交pr、版本更新)
一、软件介绍首先,介绍svg-sprite-loader,它是可以集成到webpack的一个loader,作用是合并一组单个的svg图片为一个sprite雪碧图,并把合成好的内容,inject插入到html内,形式是添加svg标签,svg内部是symbols标签,原理是使用SVG symbols建立图标系统。二、发现问题发现svg-sprite-loader有兼容问题,在webpack配置为node-webkit时,该loader不会自动插入inject 合并好的内容到html内,导致使原创 2020-12-17 15:28:12 · 576 阅读 · 0 评论 -
webpack源码分析之path模块思考
webpack,在target,为web和node-webkit时对node相关api做了不同处理。 web下使用了brower的实现。 例如那个path.resolve。 node-webkit下是原始的集成node的模块。 下面用源码举证。首先,看web:web下,需要nodejs api,是用的nodejs的浏览器实现版本,打包时,会把实现库打入,运行是执行,其实执行的是打入的nodejs api的浏览器实现版本。看下,node-webkit...原创 2020-12-11 16:22:51 · 1476 阅读 · 0 评论 -
webpack命令-从零开始webpack源码思考1
#!/usr/bin/env node// @ts-ignoreprocess.exitCode = 0;/** * @param {string} command process to run * @param {string[]} args commandline arguments * @returns {Promise<void>} promise */const runCommand = (command, args) => { const cp = ...原创 2020-07-09 20:38:25 · 551 阅读 · 0 评论 -
webpack-cli命令-从零开始webpack源码思考2
1.webpack-cli上一节知道,webpack命令会执行webpack-cli包的bin。那就接着看下webpack-cli包。package.json "bin": { "webpack-cli": "./bin/cli.js" }, "main": "./bin/cli.js",2../bin/cli.js 主流不用编译的命令数组。IIFE,立即调用函数表达式。// wrap in IIFE to be able to use retur..原创 2020-07-15 13:26:49 · 2626 阅读 · 0 评论