我启动了Firebase模拟器,然后使用开玩笑的测试来测试我们的安全规则。在我的文件夹中,我同时拥有firestore.rules
和firestore.stable.rules
个文件。
设置Firebase /测试时,我会await firebase.loadFirestoreRules({ projectId, rules: fs.readFileSync('firestore.stable.rules', 'utf8') });
但是我仍然从firebase.rules
文件中得到错误。看来我的loadFirestoreRules
通话被忽略了。
看看firebase-tools repo上的仿真器代码,似乎总是从firebase.json获取规则
if (targets.indexOf(Emulators.FIRESTORE) > -1) {
const firestoreAddr = Constants.getAddress(Emulators.FIRESTORE, options);
const rules = path.join(options.projectRoot,
options.config.get("firestore.rules"));
...