本文介绍了有没有办法从 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 获取版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!