在 Node.js ESM 中如何正确 import 一个 JSON 文件?
在 Node.js ESM 中如何正确 import 一个 JSON 文件? 本文先给出可直接复述的结论,再用最小代码说明Node.js import JSON import attributes with type json的工作方式、判断依据、项目边界和常见误区。
Node.js面试题第 3 页,显示第 101–150 题,共找到 217 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
在 Node.js ESM 中如何正确 import 一个 JSON 文件? 本文先给出可直接复述的结论,再用最小代码说明Node.js import JSON import attributes with type json的工作方式、判断依据、项目边界和常见误区。
import.meta.resolve 在 Node.js 中解决什么实际问题? 本文先给出可直接复述的结论,再用最小代码说明import.meta.resolve Node.js 模块解析路径的工作方式、判断依据、项目边界和常见误区。
依赖包的 preinstall/postinstall 脚本为何是供应链攻击的常见入口,如何缓解? 本文先给出可直接复述的结论,再用最小代码说明npm install scripts 供应链攻击 --ignore-scripts的工作方式、判断依据、项目边界和常见误区。
package-lock.json 在可复现安装中起什么作用,为什么必须提交到仓库? 本文先给出可直接复述的结论,再用最小代码说明package-lock.json 作用 锁定版本 可复现安装的工作方式、判断依据、项目边界和常见误区。
CommonJS 中 module.exports 与 exports 赋值有什么区别,为什么会踩坑? 本文先给出可直接复述的结论,再用最小代码说明module.exports exports 区别 引用关系的工作方式、判断依据、项目边界和常见误区。
require('lodash') 这类裸说明符在 Node.js 中的完整查找路径是什么? 本文先给出可直接复述的结论,再用最小代码说明Node.js require 模块解析 node_modules 查找顺序的工作方式、判断依据、项目边界和常见误区。
在 exports 中如何用嵌套条件表达「浏览器下用 ESM、Node 下用 CJS」这类组合? 本文先给出可直接复述的结论,再用最小代码说明package.json nested conditions exports 嵌套条件的工作方式、判断依据、项目边界和常见误区。
import 'fs' 与 import 'node:fs' 在 Node.js 中有实际区别吗? 本文先给出可直接复述的结论,再用最小代码说明node: prefix 核心模块 区别的工作方式、判断依据、项目边界和常见误区。
npm audit 报告的漏洞应如何分级处置,audit fix --force 有什么风险? 本文先给出可直接复述的结论,再用最小代码说明npm audit 漏洞修复 force 风险的工作方式、判断依据、项目边界和常见误区。
CI 流水线中为什么应该用 npm ci 而不是 npm install? 本文先给出可直接复述的结论,再用最小代码说明npm ci 与 npm install 区别 CI的工作方式、判断依据、项目边界和常见误区。
node_modules 中为什么会出现同一包的多份副本,npm dedupe 如何减少重复? 本文先给出可直接复述的结论,再用最小代码说明npm dedupe 依赖提升 重复包的工作方式、判断依据、项目边界和常见误区。
publish 前如何用 npm pack 与 files 字段控制实际发布的包内容? 本文先给出可直接复述的结论,再用最小代码说明npm pack files 字段 发布内容 检查的工作方式、判断依据、项目边界和常见误区。
npx 执行未安装包时的查找顺序是什么,为什么它可能被滥用? 本文先给出可直接复述的结论,再用最小代码说明npx 执行顺序 远程包 风险的工作方式、判断依据、项目边界和常见误区。
optionalDependencies 安装失败时 npm 的行为与 dependencies 有何不同? 本文先给出可直接复述的结论,再用最小代码说明optionalDependencies 安装失败 跳过的工作方式、判断依据、项目边界和常见误区。
package.json 的 overrides 字段如何强制替换间接依赖的版本? 本文先给出可直接复述的结论,再用最小代码说明npm overrides 覆盖间接依赖 版本的工作方式、判断依据、项目边界和常见误区。
package.json 的 exports 字段相比 main 多解决了什么问题? 本文先给出可直接复述的结论,再用最小代码说明package.json exports 字段 封装 子路径的工作方式、判断依据、项目边界和常见误区。
exports 写成字符串和写成对象分别表示什么语义? 本文先给出可直接复述的结论,再用最小代码说明exports sugar 字符串简写 主入口的工作方式、判断依据、项目边界和常见误区。
lockfile 中的 integrity 字段如何在安装时防止依赖被篡改? 本文先给出可直接复述的结论,再用最小代码说明package-lock integrity SRI sha512 校验的工作方式、判断依据、项目边界和常见误区。
package.json 的 main 字段在模块解析中扮演什么角色,缺省时如何回退? 本文先给出可直接复述的结论,再用最小代码说明package.json main 字段 入口 回退 index.js的工作方式、判断依据、项目边界和常见误区。
peerDependencies 在 npm 7+ 被自动安装后,插件包作者需要注意什么? 本文先给出可直接复述的结论,再用最小代码说明peerDependencies npm7 自动安装 冲突的工作方式、判断依据、项目边界和常见误区。
删除 require.cache 后重新 require 能否真正热更新模块,有什么残留风险? 本文先给出可直接复述的结论,再用最小代码说明Node.js require.cache 删除 热重载的工作方式、判断依据、项目边界和常见误区。
require.extensions 为什么被官方标记为废弃,替代做法是什么? 本文先给出可直接复述的结论,再用最小代码说明require.extensions deprecated 替代 loader的工作方式、判断依据、项目边界和常见误区。
一个包如何在自身代码里用包名引用自己的导出? 本文先给出可直接复述的结论,再用最小代码说明package.json self-reference name exports 自引用的工作方式、判断依据、项目边界和常见误区。
package.json 中 ^1.2.3 与 ~1.2.3 实际允许安装到哪些版本? 本文先给出可直接复述的结论,再用最小代码说明npm semver caret tilde 版本范围的工作方式、判断依据、项目边界和常见误区。
package.json 的 imports 字段(# 前缀说明符)与 exports 有何分工? 本文先给出可直接复述的结论,再用最小代码说明package.json imports 字段 # 子路径内部映射的工作方式、判断依据、项目边界和常见误区。
把包的 type 从 commonjs 改为 module 对下游用户有哪些破坏性影响? 本文先给出可直接复述的结论,再用最小代码说明package.json type module 变更 breaking change的工作方式、判断依据、项目边界和常见误区。
如何防范 typosquatting 与 dependency confusion 两类依赖混淆攻击? 本文先给出可直接复述的结论,再用最小代码说明依赖混淆 typosquatting 防范 scope 私服的工作方式、判断依据、项目边界和常见误区。
在 Node.js ESM 中直接 import .wasm 文件需要满足什么条件? 本文先给出可直接复述的结论,再用最小代码说明Node.js WebAssembly modules experimental-wasm-modules的工作方式、判断依据、项目边界和常见误区。
Node.js 中 Buffer 分配的内存归谁管理,为什么大量 Buffer 可能导致 RSS 高但堆不大? 本文先给出可直接复述的结论,再用最小代码说明Node.js Buffer 堆外内存 RSS高堆不大的工作方式、判断依据、项目边界和常见误区。
Node.js 长驻服务中 setInterval 定时任务在模块重建或关闭时不清理会造成什么问题? 本文先给出可直接复述的结论,再用最小代码说明Node.js setInterval 不清理 clearInterval 问题的工作方式、判断依据、项目边界和常见误区。
Node.js HTTP 的 clientError 在什么阶段触发,监听后要负责什么? 本文先给出可直接复述的结论,再用最小代码说明Node.js server clientError 事件 HPE_INVALID的工作方式、判断依据、项目边界和常见误区。
Node.js 服务支持配置热更新时,哪些配置项可以安全热更、哪些必须重启进程? 本文先给出可直接复述的结论,再用最小代码说明Node.js 配置热更新 哪些必须重启的工作方式、判断依据、项目边界和常见误区。
在 Node.js 中为什么数据库访问必须使用连接池而不是每请求新建连接,池大小如何确定? 本文先给出可直接复述的结论,再用最小代码说明Node.js 数据库连接池必要性 池大小确定的工作方式、判断依据、项目边界和常见误区。
Node.js 生产服务中大量使用 console.log 可能带来哪些性能问题? 本文先给出可直接复述的结论,再用最小代码说明Node.js console.log 同步阻塞 性能问题的工作方式、判断依据、项目边界和常见误区。
Node.js 服务 CPU 飙高时,如何不重启进程通过 inspector 信号或 --cpu-prof 采集 CPU profile? 本文先给出可直接复述的结论,再用最小代码说明Node.js CPU飙高 --cpu-prof 在线采集的工作方式、判断依据、项目边界和常见误区。
Node.js 的 diagnostics_channel 模块如何用于在不侵入业务代码的情况下做请求链路埋点? 本文先给出可直接复述的结论,再用最小代码说明Node.js diagnostics_channel 无侵入埋点的工作方式、判断依据、项目边界和常见误区。
Node.js 的 domain 模块为什么被废弃,现在用什么机制做请求级错误上下文传播? 本文先给出可直接复述的结论,再用最小代码说明Node.js domain 废弃 AsyncLocalStorage 替代的工作方式、判断依据、项目边界和常见误区。
Node.js 服务的配置为什么推荐通过环境变量注入,如何用 process.env 做带校验与默认值的配置加载? 本文先给出可直接复述的结论,再用最小代码说明Node.js 环境变量配置 process.env 校验默认值的工作方式、判断依据、项目边界和常见误区。
Node.js 的 MaxListenersExceededWarning 警告出现说明什么,真的是内存泄漏吗? 本文先给出可直接复述的结论,再用最小代码说明Node.js MaxListenersExceededWarning 是否内存泄漏的工作方式、判断依据、项目边界和常见误区。
Node.js 如何度量事件循环延迟(event loop lag),该指标升高说明服务出了什么问题? 本文先给出可直接复述的结论,再用最小代码说明Node.js event loop lag 度量 升高原因的工作方式、判断依据、项目边界和常见误区。
Node.js 服务进程退出码(0/1 及 process.exitCode 与 process.exit())应该如何规范使用? 本文先给出可直接复述的结论,再用最小代码说明Node.js 退出码 exitCode 与 process.exit 规范的工作方式、判断依据、项目边界和常见误区。
在 Express 4 中如何为所有异步路由统一建立错误边界而不漏掉 Promise 拒绝? 本文先给出可直接复述的结论,再用最小代码说明Express 4 异步路由统一错误边界的工作方式、判断依据、项目边界和常见误区。
Express 的错误处理中间件为什么必须是四个参数,异步路由抛错为何不会自动进入它? 本文先给出可直接复述的结论,再用最小代码说明Express 错误中间件 四参数 异步错误捕获的工作方式、判断依据、项目边界和常见误区。
Node.js 收到 SIGTERM 后怎样设计有截止时间的优雅停机? 本文先给出可直接复述的结论,再用最小代码说明Node.js SIGTERM graceful shutdown 优雅停机的工作方式、判断依据、项目边界和常见误区。
Node.js 进程句柄(handle)泄漏导致无法退出,如何用 process._getActiveHandles 或 why-is-node-running 思路定位? 本文先给出可直接复述的结论,再用最小代码说明Node.js 进程不退出 active handles 排查的工作方式、判断依据、项目边界和常见误区。
Node.js 服务的 liveness 与 readiness 健康检查接口应该分别检查什么,为什么不能混用? 本文先给出可直接复述的结论,再用最小代码说明Node.js liveness readiness 健康检查设计的工作方式、判断依据、项目边界和常见误区。
Node.js 出站 HTTP 请求如何通过 http.Agent 的 keepAlive 与 maxSockets 实现连接复用与并发限制? 本文先给出可直接复述的结论,再用最小代码说明Node.js http.Agent keepAlive maxSockets 连接复用的工作方式、判断依据、项目边界和常见误区。
Node.js 的 keepAliveTimeout、headersTimeout 和 requestTimeout 怎样区分? 本文先给出可直接复述的结论,再用最小代码说明Node.js keepAliveTimeout headersTimeout 设置的工作方式、判断依据、项目边界和常见误区。
Node.js 实现静态资源服务时如何正确响应 Range 请求头(206/416)? 本文先给出可直接复述的结论,再用最小代码说明Node.js Range 请求 206 Content-Range 实现的工作方式、判断依据、项目边界和常见误区。
解释请求体应在读取时累计真实字节,区分 Content-Length 提前拒绝、分块传输、UTF-8 字节数和解压上限,提供可测试预算函数,并说明 413 与 socket 关闭的协调。