最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何枚举模块中的包依赖项?

运维笔记admin8浏览0评论

如何枚举模块中的包依赖项?

如何枚举模块中的包依赖项?

伙计我一直在编写一个node_module,它给你你选择的模块的依赖关系,所以有我的代码

function depend(modulename, cb) {
let package = JSON.parse(fs.readFileSync("./node_modules/"+modulename+'/package.json', "utf8"));
var re = 'CHECKING' ? package.dependencies : 'The module has no dependencies';
cb(re)  
}

const fs = require('fs');

module.exports = depend;

当我运行它它在一个模块没有模块它给我{}而不是The module has no dependencies,所以任何想法?

回答如下:

var re = 'CHECKING' ? package.dependencies : 'The module has no dependencies';是一个ternary。

这意味着:

如果'CHECKING'然后将package.dependencies分配给re,否则将'The module has no dependencies'分配给re

这是你的错误,if ('CHECKING')将始终评估为true所以它将始终将package.dependencies分配给re。您必须将代码重构为以下内容:

var re = Object.keys(package.dependencies).length > 0 ? package.dependencies : 'The module has no dependencies';

这将测试package.dependencies是否具有一个或多个依赖关系,以便影响re的正确值。我们不在length上使用package.dependencies,因为它是一个没有任何length属性的对象,而是使用Object.keys

在评论中提供的第二个示例中,if (package.dependencies)也将始终评估为true,因为package.dependencies不为null或未定义,因此它被认为是true

发布评论

评论列表(0)

  1. 暂无评论