如何获取 Firebase 服务器时间戳?
How to get Firebase server timestamp?
我想使用 Firebase 模块 'Firebase.ServerValue.TIMESTAMP'.
使用服务器生成的时间戳将日期保存到 firebase 服务器
如何配置将 Firebase 作为模块导入 angular2 项目。
我正在使用 Angular2、angular-cli、angularFire2 等。以下是配置设置。
System-config.ts
/** Map relative paths to URLs. */
const map: any = {
firebase: 'vendor/firebase/lib/firebase-web.js',
angularfire2: ' vendor/angularfire2'
};
/** User packages configuration.*/
const packages: any = {
angularfire2: {
defaultExtension: 'js',
main: 'angularfire2.js'
}
};
angular-cli-build.js
/* global require, module */
var Angular2App = require('angular-cli/lib/broccoli/angular2-app');
module.exports = function(defaults) {
return new Angular2App(defaults, {
vendorNpmFiles: [
'systemjs/dist/system-polyfills.js',
'systemjs/dist/system.src.js',
'zone.js/dist/**/*.+(js|js.map)',
'es6-shim/es6-shim.js',
'reflect-metadata/**/*.+(js|js.map)',
'rxjs/**/*.+(js|js.map)',
'@angular/**/*.+(js|js.map)',
// below are the AngularFire entries
'angularfire2/**/*.js',
'firebase/lib/*.js'
]
});
};
使用 Angularfire2、Angular 2 和 angular-cli,以下解决方案对我有用。
首先,确保导入 firebase:
import * as firebase from 'firebase';
接下来,使用获取时间戳的旧方法,例如:
let dateNow = firebase.database.ServerValue.TIMESTAMP;
console.log(dateNow);
最后,打开src/typings.d.ts并添加:
declare namespace firebase.database.ServerValue {
let TIMESTAMP: any;
}
最后一部分对我有用,它不同于大多数不使用 OP 特定设置的解决方案。
旁路方式,可以使用{'.sv': 'timestamp'}
db.object('path').set({ timestamp: {'.sv': 'timestamp'}}) // angular
firebase.database.ServerValue.TIMESTAMP
== {'.sv': 'timestamp'}
我想使用 Firebase 模块 'Firebase.ServerValue.TIMESTAMP'.
使用服务器生成的时间戳将日期保存到 firebase 服务器如何配置将 Firebase 作为模块导入 angular2 项目。
我正在使用 Angular2、angular-cli、angularFire2 等。以下是配置设置。
System-config.ts
/** Map relative paths to URLs. */
const map: any = {
firebase: 'vendor/firebase/lib/firebase-web.js',
angularfire2: ' vendor/angularfire2'
};
/** User packages configuration.*/
const packages: any = {
angularfire2: {
defaultExtension: 'js',
main: 'angularfire2.js'
}
};
angular-cli-build.js
/* global require, module */
var Angular2App = require('angular-cli/lib/broccoli/angular2-app');
module.exports = function(defaults) {
return new Angular2App(defaults, {
vendorNpmFiles: [
'systemjs/dist/system-polyfills.js',
'systemjs/dist/system.src.js',
'zone.js/dist/**/*.+(js|js.map)',
'es6-shim/es6-shim.js',
'reflect-metadata/**/*.+(js|js.map)',
'rxjs/**/*.+(js|js.map)',
'@angular/**/*.+(js|js.map)',
// below are the AngularFire entries
'angularfire2/**/*.js',
'firebase/lib/*.js'
]
});
};
使用 Angularfire2、Angular 2 和 angular-cli,以下解决方案对我有用。
首先,确保导入 firebase:
import * as firebase from 'firebase';
接下来,使用获取时间戳的旧方法,例如:
let dateNow = firebase.database.ServerValue.TIMESTAMP;
console.log(dateNow);
最后,打开src/typings.d.ts并添加:
declare namespace firebase.database.ServerValue {
let TIMESTAMP: any;
}
最后一部分对我有用,它不同于大多数不使用 OP 特定设置的解决方案。
旁路方式,可以使用{'.sv': 'timestamp'}
db.object('path').set({ timestamp: {'.sv': 'timestamp'}}) // angular
firebase.database.ServerValue.TIMESTAMP
== {'.sv': 'timestamp'}