- Published on
package.json中scripts的本质
package.json中scripts的本质
当我们用包管理器去执行dev,build等命令的时候,前提是package.json文件中的scripts需要有这个命令,那么这个命令到底做了什么事情呢?
前往node_modules中对应的包中的bin文件(以rsbuild为例)
#!/usr/bin/env node
import nodeModule from 'node:module';
// enable on-disk code caching of all modules loaded by Node.js
// requires Nodejs >= 22.8.0
const { enableCompileCache } = nodeModule;
if (enableCompileCache) {
try {
enableCompileCache();
} catch {
// ignore errors
}
}
async function main() {
const { __internalHelper, logger } = await import('../dist/index.js');
const { runCli, prepareCli } = __internalHelper;
prepareCli();
try {
runCli();
} catch (err) {
logger.error(err);
}
}
main();
执行runCli这个函数
runCli中主要设置了rsbuild这个命令,创建了dev,build,preview,inspect等命令,绑定了通用的配置,对dev,preview配置了服务器,并各自对各个命令进行action操作执行打包、运行开发服务器等操作。