术语表

核心概念

术语说明
nccNode.js Compiler Collection 的缩写,将 Node.js 模块编译为单文件
自举(Bootstrap)ncc 使用自身来编译自身的构建策略
资源重定位(Asset Relocation)分析代码中的文件系统引用,将引用的文件复制到输出目录
ExternalMap自定义的映射数据结构,支持精确匹配和正则匹配
finalizeHandlerWebpack 编译完成后的后处理函数
memory-fs内存中的虚拟文件系统,用于接收 Webpack 输出

模块解析

术语说明
@@notfound.js占位模块,将构建时无法解析的模块转为运行时 require
TsconfigPathsPluginWebpack resolve 插件,支持 TypeScript paths 别名
conditionNamesNode.js 条件导出中使用的条件名(如 requireimportnode
mainFieldspackage.json 中用于确定入口文件的字段(ncc 只使用 main
包边界(Package Boundary)由 package.json 定义的模块包范围

输出处理

术语说明
V8 缓存使用 V8 引擎预编译代码为字节码,加速冷启动
__nccwpck_require__ncc 重命名后的 Webpack require 函数,支持嵌套构建
source-map-register运行时注册 source map 支持的模块
shebang文件首行的 #!/usr/bin/env node 指令
Terser mangle标识符混淆,缩短变量名以减少文件体积
assetBuilds递归编译输出中的 JS 资源文件(如 worker)

Webpack 相关

术语说明
LoaderWebpack 模块转换器,在模块加载时处理文件内容
resolve 插件自定义 Webpack 的模块路径解析行为
compilationWebpack 一次编译过程的上下文对象
compilationStackncc 维护的编译上下文栈,支持嵌套编译
scope hoistingWebpack 的模块连接优化(concatenateModules
deterministic IDs确定性的模块/chunk ID,确保输出稳定
node: false禁用 Webpack 的 Node.js polyfill

构建与发布

术语说明
semantic-release基于 commit 消息自动确定版本号并发布
Conventional Commits约定式提交格式(如 feat:, fix:, chore:
OIDC trusted publishing通过 OpenID Connect 进行 npm 可信发布
corepackNode.js 内置的包管理器版本管理工具
frozen lockfile安装时不更新 lock 文件,确保可复现

文件格式

术语说明
ESMECMAScript Modules,使用 import/export
CJSCommonJS,使用 require()/module.exports
.mjs强制 ESM 格式的文件扩展名
.cjs强制 CJS 格式的文件扩展名
"type": "module"package.json 中声明包内 .js 文件为 ESM