如何轻松validation正确的npm依赖安装?

如果有任何未满足的package.json依赖关系,我怎么能知道何时提示用户运行npm install

我想这样做,因为如果任何require()失败,用户得到一个糟糕的错误消息:

 module.js:340 throw err; ^ Error: Cannot find module 'nopt' 

我以前试过只检查一下node_modules目录的存在,但是这只对新鲜的git克隆有效。 我也试过只需要npm并运行npm install作为加载的一部分,但这是非常重的重量。

我希望有一个轻量级的库,只是parsingpackage.json ,并确保node_modules内容满足要求。

一个想法是使用process.on('uncaughtException')来捕获模块导入错误,但是首先查看是否有“标准”解决scheme。

今天find了这个。 不知道你是否仍然需要这个。

https://www.npmjs.com/package/check-dependencies

 npm install check-dependencies --save-dev 

安装这个软件包并保存到你的package.json。

 require('check-dependencies')(config, callback); 

configuration是以下对象,然后传递给callback。

 { 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 } 

不知道有没有npm的方式来做到这一点,但只是发现这似乎有帮助:

博客文章: http : //bahmutov.calepin.co/check-dependencies-in-grunt-by-default.html

项目: https : //github.com/bahmutov/deps-ok

如果你使用github,或者至less在github上托pipe你的project.json,你可以使用: https : //david-dm.org/

取代你的用户名和回购。

 https://david-dm.org/username/repo.svg 

然后你可以看到像https://david-dm.org/bower/bower这样的东西来识别过期的软件包。