当前位置: 首页 > news >正文

湖南响应式网站推荐河南推广网站

湖南响应式网站推荐,河南推广网站,wordpress手机端插件,河源哪里做网站该内容主要整理关于 Node 模块的相关面试题,其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 Node模块精选篇 1. package.json版本号规则2. package.json 与 package-lock.json 的关3. npm 模块安装机制4. 模块化的差异 AMD CMD COMMONJS ESMODUL5. No…

该内容主要整理关于 Node 模块的相关面试题,其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。

Node模块精选篇

  • 1. package.json版本号规则
  • 2. package.json 与 package-lock.json 的关
  • 3. npm 模块安装机制
  • 4. 模块化的差异 AMD CMD COMMONJS ESMODUL
  • 5. Node 的 Event Loop: 6个阶
  • 6. Koa相关
  • 7. Express、koa实现原理以及对比
  • 8. 请介绍一下 require 的模块加载机制
  • 9. exports.xxx=xxx 和 Module.exports={}有什么区别
  • 10. Node 的异步 I/O
  • 11. V8 的垃圾回收机制
  • 12. Buffer 模块
  • 13. webSocket
  • 14. https
  • 15. 进程通信


1. package.json版本号规则

major.minor.patch

  • 主版本号.次版本号.修补版本号(major.minor.patch)
  • major:新的架构调整,不兼容老版本
  • minor:新增功能,兼容老版本
  • patch:修复bug,兼容老版本

~和^的区别

  • ~ 会匹配最近的小版本依赖包,比如 ~1.2.3 会匹配所有 1.2.x 版本,但是不包括 1.3.0
  • ^ 会匹配最新的大版本依赖包,比如 ^1.2.3 会匹配所有 1.x.x 的包,包括1.3.0,但是不包括2.0.0
  • * 安装最新版本的依赖包,比如 *1.2.3 会匹配 x.x.x

那么该如何选择呢?当然你可以指定特定的版本号,直接写 1.2.3,前面什么前缀都没有,这样固然没问题,但是如果依赖包发布新版本修复了一些小bug,那么需要手动修改 package.json 文件;~^ 则可以解决这个问题

  • 但是需要注意 ^ 版本更新可能比较大,会造成项目代码错误,所以 建议使用 ~ 来标记版本号,这样可以保证项目不会出现大的问题,也能保证包中的小bug可以得到修复
  • 版本号写 *,这意味着安装最新版本的依赖包,但缺点同上,可能会造成版本不兼容,慎用

👇 例子

  • 假设我们中安装了 vue, 当我们运行安装 npm install vue -save 的时候,在项目中的 package.json 的 vue版本是 vue: ^3.0.0, 我们电脑安装的vue版本就是 3.0.0 版本,我们把项目代码提交后,过了一段时间,vue 发布了新版本 3.0.1,这时新来一个同事,从新 git clone 克隆项目,执行 npm install 安装的时候,在他电脑的vue版本就是 3.0.1了,因为^只是锁了主要版本,这样我们电脑中的vue版本就会不一样,从理论上讲(大家都遵循语义版本控制的话),它们应该仍然是兼容的,但也许 bugfix 会影响我们正在使用的功能,而且当使用vue版本 3.0.03.0.1运行时,我们的应用程序会产生不同的结果。
  • 请思考,这样的话,不同人电脑安装的依赖版项目,是不是都有可能不一样,就会导致每个人电脑运行的应用程序产生不同的结果。就会存在bug的隐患。
  • 那么我们在 package.json 上面锁死依赖包的版本号不就可以了? 直接写 vue: 3.0.0 锁死,这样大家安装vue的版本都是3.0.0版本了。
  • 这个想法固然是不错的,但是你只能控制你自己的项目锁死版本号,那你项目中依赖包的依赖包呢?你怎么控制限制别人锁死版本号呢?
  • 为了解决这个不同人电脑安装的所有依赖版本都是一致的,确保项目代码在安装所执行的运行结果都一样,这时 package-lock.json 就应运而生

2. package.json 与 package-lock.json 的关

3. npm 模块安装机制

4. 模块化的差异 AMD CMD COMMONJS ESMODUL

5. Node 的 Event Loop: 6个阶

6. Koa相关

  • koa洋葱模型怎么实
  • 如果中间件中的next()方法报错了怎么
  • co的原理是怎样的

7. Express、koa实现原理以及对比

8. 请介绍一下 require 的模块加载机制

9. exports.xxx=xxx 和 Module.exports={}有什么区别

10. Node 的异步 I/O

  • 请介绍一下 Node 事件循环的流程
  • 在每个 tick 的过程中,如何判断是否有事件需要处理呢
  • 描述一下整个异步 I/O 的流

11. V8 的垃圾回收机制

  • 如何查看 V8 的内存使用情
  • V8 的内存限制是多少,为什么 V8 这样设
  • V8 的内存分代和回收算法请简单讲一讲

12. Buffer 模块

  • 新建 Buffer 会占用 V8 分配的内存
  • Buffer.alloc 和 Buffer.allocUnsafe 的区
  • Buffer 的内存分配机制
  • Buffer 乱码问题

13. webSocket

  • webSocket 与传统的 http 有什么优势
  • webSocket 协议升级简述一下

14. https

  • https 用哪些端口进行通信,这些端口分别有什么用
  • 身份验证过程中会涉及到密钥,对称加密,非对称加密,摘要的概念,请解释一下
  • 为什么需要 CA 机构对证书签名
  • https 验证身份也就是 TSL/SSL 身份验证的过程

15. 进程通信

  • 请简述一下 node 的多进程架构
  • 请问创建子进程的方法有哪些,简单说一下它们的区别
  • 实现一个 node 子进程被杀死,然后自动重启代码的思路
http://www.hkea.cn/news/871774/

相关文章:

  • dreamweaver做的网站电商培训班一般多少钱
  • 国外做科研的网站东莞网站设计公司排名
  • 亿唐网不做网站做品牌原因seo网站诊断报告
  • 宝鸡网站建设东东怎么推广软件让别人下载
  • 21dove谁做的的网站百度一下首页设为主页
  • 猪八戒网站建设推广平台排名前十名
  • 广西建设质监站官方网站站长工具seo综合查询可以访问
  • 通用搭建网站教程优化营商环境的意义
  • 网站中加入地图怎样优化网站排名
  • 网站如何被搜索引擎收录地推推广平台
  • 池州做网站公司游戏搜索风云榜
  • 东丽区做网站网站查询平台
  • wordpress什么主题好用seo优化范畴
  • 局域网端口映射做网站西安竞价托管代运营
  • 重庆网站建设设计公司信息ip网站查询服务器
  • 网站积分的作用seo搜索引擎优化就业前景
  • 珠海网站品牌设计公司简介最新国内新闻重大事件
  • 广东专业网站客服软件定制站长统计app下载大全
  • 广东网站建设公司排名磁力帝
  • 胶南网站建设哪家好成都电脑培训班零基础
  • 集团网站建设哪家好网上推广怎么弄?
  • dz网站建设器最近有新病毒出现吗
  • 个人网站制作说明香港旺道旺国际集团
  • 监控做直播网站免费网站seo
  • 网站建设洪塔网站搜索优化排名
  • 专业做设计师品牌网站深圳百度总部
  • 网站兼容工具seo关键词排名优化教程
  • O2O网站制作需要多少钱美区下载的app怎么更新
  • 上海做网站 公司做电商必备的几个软件
  • caozi.com网站建设中百度指数如何分析数据