npm install如果有任何未满足的package.json依赖项,我怎么知道何时提示用户运行?
我想这样做,因为如果任何require()失败,用户会得到一个糟糕的错误消息:
module.js:340
throw err;
^
Error: Cannot find module 'nopt'
Run Code Online (Sandbox Code Playgroud)
我之前试图检查node_modules目录是否存在,但这只适用于新的git克隆.我也尝试过只需要npm和运行npm install作为负载的一部分,但这是非常重的.
我希望有一个较轻的重量库,只需解析package.json并确保node_modules内容满足要求.
一个想法是使用process.on('uncaughtException')仅捕获模块导入错误,但首先查看是否存在"标准"解决方案.
小智 5
今天发现了这个。不确定你是否还需要这个。
https://www.npmjs.com/package/check-dependencies
npm install check-dependencies --save-dev
Run Code Online (Sandbox Code Playgroud)
安装这个包并保存到你的 package.json。
require('check-dependencies')(config, callback);
Run Code Online (Sandbox Code Playgroud)
config 是以下对象,然后将其传递给回调。
{
status: number, // 0 if successful, 1 otherwise
depsWereOk: boolean, // true if dependencies were already satisfied
log: array, // array of logged messages
error: array, // array of logged errors
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11202 次 |
| 最近记录: |