我正在构建一个可以在网站上显示系统信息的网络应用程序。它显示了运行“服务器”的电脑的硬件信息(温度、内存、cpu、风扇速度等)。它会打开一个显示此信息的 Web 服务器,该信息可通过网络访问。我正在使用流星、blazejs 和系统信息(https://github.com/sebhildebrandt/systeminformation)来做到这一点。系统信息将它从服务器获取的信息显示为长数字。这是我的html:
<template name="main">
{{#if subscriptionsReady}}
<p>cpu manufacturer: {{get (static) 'data.cpu.manufacturer'}}</p>
<p>cpu brand: {{get (static) 'data.cpu.brand'}}</p>
<p>cpu model: {{get (static) 'data.cpu.model'}}</p>
<p>cpu speed: {{get (static) 'data.cpu.speed'}}</p>
<p>cpu cores: {{get (static) 'data.cpu.cores'}}</p>
<p>total memory: {{get (dynamic) 'data.mem.total'}}</p>
<p>free memory: {{get (dynamic) 'data.mem.free'}}</p>
<p>used memory: {{get (dynamic) 'data.mem.used'}}</p>
<p>active memory: {{get (dynamic) 'data.mem.active'}}</p>
{{/if}}
这在网站上显示
我想将长数字格式化为“总内存 X.yz GB”,并且对于不同的数据类似。是否有任何易于使用的库可供我使用?
这也是我的服务器 javascript 文件
Meteor.startup(() => {
si.getStaticData(Meteor.bindEnvironment(function(data){
Data.update({type: 'static'}, {data: data, type: 'static'}, {upsert: true})
}))
setInterval(Meteor.bindEnvironment(function() {
si.getDynamicData(Meteor.bindEnvironment(function(data){
Data.update({type: 'dynamic'}, {data: data, type: 'dynamic'}, {upsert: true})
}))
}), 1000)
Meteor.publish('data', function(){
return Data.find({})
})
});
和我的客户 javascript
let subscriptions = [
Meteor.subscribe('data')
]
Template.main.helpers({
get: function(obj, what) {
console.log(obj)
return _.get(obj, what)
},
dynamic: function() {
return Data.findOne({type: 'dynamic'})
},
static: function() {
return Data.findOne({type: 'static'})
},
subscriptionsReady: function() {
for (let sub of subscriptions){
if (!sub.ready()) return false
}
return true
}
})