- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
05-前端⼯程化-常⻅⾯试题
1.Node基础
1.1说说Node是什么?和浏览器有什么区别和关系?
Node.js是⼀个基于V8JavaScript引擎的JavaScript运⾏时环境
V8可以嵌⼊到任何C++应⽤程序中,⽆论是Chrome还是Node.js,事实上都是嵌⼊了V8引擎
来执⾏JavaScript代码;
但是在Chrome浏览器中,还需要解析、渲染HTML、CSS等相关渲染引擎,另外还需要提供
⽀持浏览器操作的API、浏览器⾃⼰的事件循环等
在Node.js中我们也需要进⾏⼀些额外的操作,⽐如⽂件系统读/写、⽹络IO、加密、压缩解
压⽂件等操作
在浏览器中,全局变量都是在window上的,⽐如有document、setInterval、setTimeout、
alert、console等
在浏览器中执⾏的JavaScript代码,如果我们在顶级范围内通过var定义的⼀个属性,默认会
被添加到window对象上。
在Node中,我们也有⼀个global属性,并且看起来它⾥⾯有很多其他对象
在node中,我们通过var定义⼀个变量,它只是在当前模块中有⼀个变量,不会放到全局中
1.2说说你对模块化开发的理解
模块化开发最终的⽬的是将程序划分成⼀个个⼩的结构(模块)
这个结构中编写属于⾃⼰的逻辑代码,有⾃⼰的作⽤域,定义变量名词时不会影响到其他的结构
可导出变量,函数,对象等给其他模块⽤,也可导⼊其他模块中的变量,函数,对象
按照这种结构划分开发程序的过程,就是模块化开发的过程
早期是没有模块化,带来⼀些问题
命名冲突-⽴即执⾏函数-⾃定义模块-没有规范
社区中模块化规范:CommonJS/AMD/CMD
ES6中推出模块化:ESModule
1.3什么是yarn和npm?为什么要⽤yarn代替npm呢?
npm是与Node.js⾃带的默认包管理器,它有⼀个⼤型的公共库和私有库,存储在npmregistry
的数据库中(官⽅默认中⼼库/,国内淘宝镜像http://registry.npm.tao
/),⽤户可以通过npm命令⾏访问该仓库。在npm的帮助下,⽤户可以轻松管理项⽬
中的依赖项。
yarn也是⼀个包管理器,是由Facebook、Google、Exponent和Tilde联合推出了⼀个新的JS包
管理⼯具,它有如下的优点:
速度快,⽀持并⾏安装。⽆论npm还是Yarn在执⾏包的安装时,都会执⾏⼀系列任务。
npm是按照队列执⾏每个package,也就是说必须要等到当前package安装完成之后,才
能继续后⾯的安装。⽽Yarn是同步执⾏所有任务,提⾼了性能。
离线模式,如果之前已经安装过⼀个软件包,⽤Yarn再次安装时之间从缓存中获取,就不⽤
像npm那样再从⽹络下载了。
yarn是为了弥补早期npm的⼀些缺陷⽽出现的,因为早期的npm存在很多的缺陷,⽐如安装依
赖速度很慢、版本依赖混乱等等⼀系列的问题。虽然从npm5版本开始,进⾏了很多的升级和改
进,但是依然很多⼈喜欢使⽤yarn。
1.4说出npminstall的安装过程
执⾏npminstall会检测是有package-lock.json⽂件:
没有lock⽂件
分析依赖关系,这是因为我们可能包会依赖其他的包,并且多个包之间会产⽣相同依赖的情
况;
从registry仓库中下载压缩包(如果我们设置了镜像,那么会从镜像服务器下载压缩包);
获取到压缩包后会对压缩包进⾏缓存(从npm5开始有的);
将压缩包解压到项⽬的node_modules⽂件夹中(前⾯我们讲过,require的查找顺序会在该
包下⾯查找)
有lock⽂件
检测lock中包的版本是否和package.json中⼀致(会按照semver版本规范检测)
不⼀致,那么会重新构建依赖关系,直接会⾛顶层的流程
您可能关注的文档
- 19(YS_KX_01)主动安全半实物试验系统设备装箱清单.pdf
- 多轴车辆动力学建模与仿真软件包(SIMPACK)软件安装维护手册.pdf
- 2 2014年中国新能源汽车产业链研究.pdf
- 炫酷LED服装讲义.pdf
- 第14课 智能窗帘.pdf
- 10_CSS的继承-层叠-类型.pdf
- 03_前端包管理工具详解.pdf
- 17_防抖-节流-深拷贝-事件总线.pdf
- 06_Vue组件化开发基础.pdf
- 18_Vue3-高级特性补充.pdf
- 广东省深圳市龙岗区德琳学校初中部2022-2023学年七年级上学期期中考试英语试题(原卷版+解析).docx
- 广东省珠海市第四中学、立才学校、梅华中学2022-2023学年七年级上学期期中质量检测英语试题(原卷版+解析).docx
- 教科版2024-2025学年六年级科学上册第一单元第4课时《生物细胞》同步练习(含答案).docx
- 牛津沪教版七年级英语上册单元速记•巧练 Unit 7 【单元测试 · 提高卷】.docx
- 牛津沪教版七年级英语上册单元速记•巧练 Unit 5【单元测试 · 基础卷】.docx
- 广东省深圳市南山区太子湾学校2022-2023学年七年级上学期期中考试英语试题(原卷版+解析).docx
- 广东省深圳市南山第二外国语学校(集团)2022-2023学年七年级上学期期中考试英语试题(含听力)(原卷版+解析).docx
- 牛津沪教版七年级英语上册单元速记•巧练 2023-2024学年七年级上学期期末英语全真模拟卷(深圳适用02).docx
- 广东省阳江市江城区2022-2023学年七年级上学期期中考试英语试题(原卷版+解析).docx
- 广东省梅州市梅县区宪梓中学2022-2023学年七年级上学期期中英语试题(原卷版+解析).docx
文档评论(0)