在开发中,我希望能够从web上看到构建信息(git提交哈希、作者、最后提交消息等).我试过:

  • 使用child_进程执行git命令行,并读取结果(由于浏览器环境的原因而无法工作)
  • 生成一个buildInfo.txt文件,并从文件中读取(不起作用,因为fs在浏览器环境中也不可用)
  • 使用外部库,如"git rev"

剩下要做的事情似乎只有做npm run eject和应用https://www.npmjs.com/package/git-revision-webpack-plugin,但我真的不想退出create react应用程序.有人有什么 idea 吗?

推荐答案

事实证明,如果不弹出,就无法实现这一点,所以我使用的解决方法是:

1) 打包的.json,定义一个脚本"git-info": "git log -1 --oneline > src/static/gitInfo.txt"

2) 开始和构建都添加npm run git-info

3) 在config js文件中(或者当你需要git信息时),我有

const data = require('static/gitInfo.txt')
fetch(data).then(result => {
    return result.text()
})

Node.js相关问答推荐

@nuxtjs/站点 map 错误提示:找不到包';NitroPack';

Mongoose抱怨说,整数是数字,而不是整数

mongoose 模型填充问题

一个函数中的两个依赖的NodeJS数据库操作.如果第二个失败了怎么办?

如何在套接字对象中存储或添加数据?

Angular Build 生产返回致命的 javascript 无效大小错误

node-gyp: "..\src\binding.cc: 没有这样的文件或目录"

多字段传递获取查询失败

将环境变量从 GitHub 操作传递到 json

try 运行迁移时的 Typeorm:缺少必需的参数:dataSource

当我们有esnext时,为什么我们需要nodenext typescript 编译器选项?

如何在 MongoDB collection.find() 上获取回调

为什么 JavaScript 的 parseInt(0.0000005) 打印5?

安全沙箱并执行用户提交的 JavaScript?

Dart 语言比 JavaScript (Node.js) 有什么好处

使用 Node.js 和 Express 进行简单的 API 调用

如何忽略文件 grunt uglify

未在 Windows 8.1 上构建的 node 包 - 缺少 Microsoft.Cpp.Default.props

如何在 NodeJS 中拆分和修改字符串?

Node.js 中的 PHP exit()/die() 类似功能是什么