首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
will0000
获赞
144
粉丝
10
关注
18
看过 TA
343
男
蚌埠坦克学院
2024
Java
IP属地:北京
ikun
私信
关注
拉黑
举报
举报
确定要拉黑will0000吗?
发布(34)
刷题
will0000
01-24 10:43
蚌埠坦克学院 计算机类
webpack源码分析(九)
回归上节内容,我们讲了一个ResolverFactory的demo,得知,他有一个resolve方法,可以让我们拿到具体的路径。接下来,我们分析代码,他是怎么运行的。 exports.createResolver = function (options) { // 解析并规范化用户传入的配置 const normalizedOptions = createOptions(options); const { alias, fallback, aliasFields, cachePredicate, cacheWithContext, conditionNames, ...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
01-22 11:35
蚌埠坦克学院 计算机类
webpack源码分析(八)
先看上一节的_create函数 _create(type, resolveOptionsWithDepType) { const originalResolveOptions = { ...resolveOptionsWithDepType }; const resolveOptions = convertToResolveOptions( this.hooks.resolveOptions.for(type).call(resolveOptionsWithDepType) ); const resolver = Factory.createResolver(resol...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
01-19 12:07
已编辑
蚌埠坦克学院 计算机类
webpack源码分析(七)
compiler.hooks.initialize.call();createComplier 就剩下这一个函数了,这个initialize默认没有事件,所以直接返回,那我们回顾一下每个函数都做了什么。 const createCompiler = rawOptions => { const options = getNormalizedWebpackOptions(rawOptions); applyWebpackOptionsBaseDefaults(options); const compiler = new Compiler(options.context, options...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
01-16 14:09
蚌埠坦克学院 计算机类
webpack源码分析(六)
这一章我们先给一个demo,从demo的视角讲解,new WebpackOptionsApply().process(options, compiler);都发生了什么。先上demo首先第一步,把webpack源码clone下来, git clone https://github.com/webpack/webpack.git然后执行yarn,把npm包下载下来,然后mkdir demo 创建一个demo文件夹,文件夹内部创建一个webpack.js文本就是下方的内容 var path = require("path"); var webpack = require(&qu...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
01-13 21:02
蚌埠坦克学院 计算机类
webpack 源码分析(五)
上一章,讲到了applyWebpackOptionsDefaults,它是用来给webpack赋值的,如果你不传值,那我就自己来复默认值,然后我们接着分析。compiler.hooks.environment.call();compiler.hooks.afterEnvironment.call();接下来执行两个hooks,默认情况下,webpack并没有environment的事件,所以即使触发了事件,实际上啥也不执行(除非自己自定义一个compiler.hooks.environment.tap('name',()=>{}))。再看另一个afterEnvironment,这个事件,...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
01-24 10:45
已编辑
蚌埠坦克学院 计算机类
webpack 源码分析(四)
回顾内容,我们之前讲完了了NodeEnvironmentPlugin。先回答一道题,你了解哪些webpack插件,他们是干什么的?我了解NodeEnvironmentPlugin这个插件它是webpack内置函数,而且是webpack第一个执行的插件,它的主要作用是用来操作webpack输入输出,以及给webpack提供日志,集成了inputFileSystem,infrastructureLogger它相较于fs or graceful-fs,它增加了缓存策略,多次调用文件,会把方法合并,只调用一个文件,500ms内,如果再次调用该文件,直接走缓存。监听watchFileSystem,加入了...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
01-19 11:45
已编辑
蚌埠坦克学院 计算机类
webpack 源码分析(三)
从上文开始,我们分析到了NodeEnvironmentPlugins,知道了webpack是怎么优化文件读取的。我们接着看剩下没看的代码 compiler.inputFileSystem = new CachedInputFileSystem(fs, 60000); const inputFileSystem = compiler.inputFileSystem; compiler.outputFileSystem = fs; compiler.intermediateFileSystem = fs; compiler.watchFileSystem = new NodeWatchFileSy...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
01-19 11:43
已编辑
蚌埠坦克学院 计算机类
webpack 源码分析(二)
接着上一节内容,我们分析到applyWebpackOptionsBaseDefaults,我们继续分析下一行代码。const compiler = new Compiler(options.context, options);我们先来想一下这两个参数,一个是context全局上下文参数,第二个是options,经过处理过的config参数先说一下Complier对应源码在哪里,对应lib/compiler.js文件webpack 源码中这个类有1100行代码,确实很多,我看着也烦的慌,但是我们慢慢来看因为我们这里没有调用compiler任何的方法,所以我们现在没必要看他上面的方法 class ...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
01-09 10:39
已编辑
蚌埠坦克学院 计算机类
webpack 源码分析(一)
在面试中,我们总会被问到webpack相关的问题,如webpack的loader,plugins是什么,有什么区别,又比如webpack的代码分割是怎么实现的,等一系列问题,很多人不能从底层彻底了解具体的实现,出于此目的,我想写一篇专栏,专门分析webpack源码的教程,其实已经有很多这种类型的文章了,但是我还想写一个专栏,我觉得市面上讲的还是有些粗糙,我要讲的更细更多一些。 废话不多说,接下来直接分析webpack源码。平常我们一般都会使用webpack-cli来调用webpack,但其实webpack-cli,底层帮助我们做的操作就是调用了webpack的函数webpack函...
前端技术专栏分享
0
点赞
评论
收藏
转发
will0000
2023-08-31 10:45
蚌埠坦克学院 计算机类
2023-08-31
在牛客打卡20天,今天也很努力鸭!
每日监督打卡
0
点赞
评论
收藏
转发
will0000
2023-07-18 15:11
蚌埠坦克学院 计算机类
题解 | #格式化输出#
awk '{ l=length($0) f=l%3 for (i=1;i<=l;i++){ printf substr($0,i,1) if((i-f)%3==0 && i!=l) printf "," } print "" }' nowcoder.txt
0
点赞
评论
收藏
转发
will0000
2023-07-18 15:08
蚌埠坦克学院 计算机类
题解 | #反转链表#
package main import . "nc_tools" /* * type ListNode struct{ * Val int * Next *ListNode * } */ /** * * @param pHead ListNode类 * @return ListNode类 */ func ReverseList(pHead *ListNode) *ListNode { if pHead == nil || pHead.Next == nil { return pHead } var newHead *ListNode...
0
点赞
评论
收藏
转发
will0000
2023-06-29 20:04
蚌埠坦克学院 计算机类
2023-06-29
在牛客打卡19天,今天也很努力鸭!
每日监督打卡
0
点赞
评论
收藏
转发
will0000
2023-06-19 19:38
蚌埠坦克学院 计算机类
2023-06-19
在牛客打卡18天,今天也很努力鸭!
每日监督打卡
0
点赞
评论
收藏
转发
will0000
2023-05-08 11:40
蚌埠坦克学院 计算机类
2023-05-08
在牛客打卡17天,今天也很努力鸭!
每日监督打卡
0
点赞
评论
收藏
转发
1
2
3
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务