本文介绍了有没有办法从 nodejs 代码中的 package.json 获取版本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法在 nodejs 应用程序中获取 package.json 中设置的版本?我想要这样的东西

Is there a way to get the version set in package.json in a nodejs app? I would want something like this

var port = process.env.PORT || 3000
app.listen port
console.log "Express server listening on port %d in %s mode %s", app.address().port, app.settings.env, app.VERSION

推荐答案

我发现以下代码片段最适合我.由于它使用 require 来加载 package.json,因此无论当前工作目录如何,它都可以工作.

I found that the following code fragment worked best for me. Since it uses require to load the package.json, it works regardless the current working directory.

var pjson = require('./package.json');
console.log(pjson.version);

警告,由 @Pathogen 友情提供:

A warning, courtesy of @Pathogen:

使用 Browserify 执行此操作具有安全隐患.
请注意不要将您的 package.json 暴露给客户端,因为这意味着您的所有依赖版本号、构建和测试命令等都将发送到客户端.
如果你在同一个项目中构建服务器和客户端,你也会公开你的服务器端版本号.攻击者可以使用此类特定数据来更好地适应对您服务器的攻击.

这篇关于有没有办法从 nodejs 代码中的 package.json 获取版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-07 07:56