响应式旅游网站模版,全球速卖通买家app,东莞建设企业网站公司,模版型网站是怎样的该内容主要整理关于 Node 模块的相关面试题#xff0c;其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 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 ESMODUL5. Node 的 Event Loop: 6个阶6. Koa相关7. Express、koa实现原理以及对比8. 请介绍一下 require 的模块加载机制9. exports.xxxxxx 和 Module.exports{}有什么区别10. Node 的异步 I/O11. V8 的垃圾回收机制12. Buffer 模块13. webSocket14. https15. 进程通信 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.0 和 3.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.xxxxxx 和 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 子进程被杀死然后自动重启代码的思路