我正在整理一个演示应用,其中我经常添加内容和新的React组件。我刚刚添加了组件react-timeago,用于显示对网站进行的最新更改。现在我想给该组件提供正确的时间戳。
在最坏的情况下,我想我可以显示服务器上次启动的时间。我在本地使用webpack-dev-server。我还没有使用这个网站,但是当我这样做时,它可能(比如webpack-dev-server)是一个基于快速的解决方案。因此,一个选项可能是在快速生成的日志文件上为服务器启动条目执行grep。解决这个问题会在一定程度上解决问题。值得注意的是,添加内容不需要重启,因此这种解决方案可能并不理想。据推测,我可以在表达中使用某种中间件(记录器或其他)。
另一种可能的方法可能是某种目录监视机制,它记录上次进行更改的时间。例如,我应该以某种方式将其挂钩到redux状态吗?可用的组件太多,很难知道哪些组件(我在这方面的经验有限)可以实现这一点。
我的网站是一个轻量级的单个寻呼机,我不愿意在这个阶段添加任何类型的数据存储,因为它对我来说似乎有些过分。
我还可以提一下,我正在使用webpack 2.除此之外,它还是一个非常基本的React应用程序,包含几个组件。
总结一下,我正在寻找一些方法来寻找添加的内容(例如mp3文件)或更改的代码文件,并将该时间戳记放入我的react-timeago组件中。
答案 0 :(得分:0)
正如@Joe Clay建议的那样,我使用Webpack.DefinePlugin用重启时的当前时间填充常量。这很好用,我在webpack.config.js中添加了以下几行:
var dateString = new Date().toDateString();
...
new webpack.DefinePlugin({
LAST_UPDATED: JSON.stringify(dateString)
})

并且能够访问我的React组件中的常量:
<div style={{marginTop:120}}>A sinewave440hz demo site.<br/>
This site was updated
<TimeAgo date={LAST_UPDATED} formatter={formatter}/>.
</div>
&#13;
如果资产的先前状态记录在某处,也可以在启动时记录资产的变化。