我正在使用Angular CLI.如何转换路径:
import {AppConfig, AppConfigInterface} from '../../../app.config';
Run Code Online (Sandbox Code Playgroud)
类似于:
import {AppConfig, AppConfigInterface} from 'root/app.config';
Run Code Online (Sandbox Code Playgroud) 我想要实现的是非常简单的.我只需要在数据库中创建一个用户条目就不需要了.
应用程序流程:
客户端代码(创建操作):
this.db.doc('users/' + uid).set({username: Santa})
Run Code Online (Sandbox Code Playgroud)
火库规则:
service cloud.firestore {
match /databases/{database}/documents {
match /users/{uid} {
allow create: if
request.auth != null &&
request.auth.uid == uid &&
!exists(/databases/$(database)/documents/users/$(uid));
allow update: if request.auth != null && request.auth.uid == uid;
}
}
}
Run Code Online (Sandbox Code Playgroud)
附加信息:
您可能已经知道代码不起作用.每次运行客户端代码时,当前用户都会被新文档完全替换.但是,如果我从规则中删除以下行,一切都按预期工作:
allow update: if request.auth != null && request.auth.uid == uid;
但现在问题出现了,我如何保护用户文档中的数据免受未经授权的修改?有什么建议?
这是我导出和导入对象的typescript接口的方法.一切正常.将此作为我正在努力实现的目标的一个例子,但具有功能.
第1单元
export interface MyInterface {
property: string;
}
Run Code Online (Sandbox Code Playgroud)
第2单元
import {MyInterface} from './module1';
const object: MyInterface = {
property: 'some value'
};
Run Code Online (Sandbox Code Playgroud)
下面的代码给出了一个错误"TS2304:找不到名字'myFunction'".如何导出和导入函数类型?
第1单元
export let myFunction: (argument: string) => void;
Run Code Online (Sandbox Code Playgroud)
第2单元
import {myFunction} from './module1';
let someFunction: myFunction;
Run Code Online (Sandbox Code Playgroud) 我有一个全局范围的变量,我需要定期检查更改.这就是我在简单JS中的方法:
let currentValue, oldValue;
setInterval(()=>{
if(currentValue != oldValue){
doSomething();
}
}, 1000)
Run Code Online (Sandbox Code Playgroud)
它是如何使用的Observables?
我正在尝试从Firestore官方文档中复制一个示例。您需要了解的所有信息都在屏幕截图上。是错误还是我错过了什么?
我使用(typescript、babel、linter)创建了一个入门项目vue ui。一切工作正常,但我不太明白如何使Composition API的setup方法工作。它根本没有被调用(日志输出为空)这就是我被困住的地方。
vue:3.0.0-rc.10
vue-cli:4.5.4
<script lang="ts">
import { Options, Vue } from 'vue-class-component'
import HelloWorld from './components/HelloWorld.vue'
@Options({
components: {
HelloWorld
},
setup () {
console.log('SETUP HERE')
}
})
export default class App extends Vue {
setup () {
console.log('SETUP THERE')
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
typescript vue.js vuejs3 vue-composition-api vue-script-setup
我在这里检查过,没有可以传递给 Angular CLI 以将日志保存到文件的选项。我试过这个:
ng build |& tee output.txt
Run Code Online (Sandbox Code Playgroud)
问题是生成的文件使我的 Atom 编辑器崩溃,并且在 Geany 中它不可读,因为像 [BS]、[ESC] 这样的字符(它们的删除弄乱了格式并且文件仍然不可读)。
各位大侠,能分享一下你们的技巧吗?
情况:
我有100万用户,我想通过标签搜索它们.
这是架构:
const Account = new Schema({
tags: { type: [String], default: ['cats'] }
})
Run Code Online (Sandbox Code Playgroud)
这是第一个查询:
const query = { tags: 'cats'}
const fields = { _id: 0 }
const options = { skip: 0, limit: 5 }
Account.find(query, fields, options)
Run Code Online (Sandbox Code Playgroud)
调用find方法后,Mongoose将开始搜索并返回它匹配的前5个条目.在这种情况下的表现是最佳的.
这是第二个查询:
const query = { tags: 'cats'}
const fields = { _id: 0 }
const options = { skip: 500 000, limit: 5 }
Account.find(query, fields, options)
Run Code Online (Sandbox Code Playgroud)
在这种情况下发生的事情是我感兴趣的.
并Mongoose首先匹配500个000项,然后返回未来5项?
或者它是否以某种方式"跳"到500 000元素而不必事先将它们全部匹配? …
我正在尝试弄清楚如何正确进行错误记录。我正在使用 Vue 框架(webpack starter)。
当我console.log(error.stack)进入浏览器开发控制台时:
Error: offline
at Socket.eval (socket.service.js?19d1:20)
at Socket.onack (socket.js?0183:311)
...
Run Code Online (Sandbox Code Playgroud)
当我这样做sendErrorStackToServer(error.stack)或someDiv.innerText = error.stack我得到:
Error: offline
at Socket.eval (webpack-internal:///92:48:83)
at Socket.onack (webpack-internal:///101:311:9)
...
Run Code Online (Sandbox Code Playgroud)
如何用更具描述性的内容(如第一种情况)替换webpack-internal?
在尝试通过 WebRTC 连接两台机器后,我了解到其中一台机器位于对称 NAT 后面(这是Philipp Hancke 撰写的一篇关于它的很棒的文章)。这台机器并不总是位于对称 NAT 后面。几个月前我可以毫无问题地连接到它(仅使用 STUN 服务器)。那台机器上的硬件和软件从那时起就没有改变,所以我认为 ISP 一定做了什么。
我的问题是:
你怎么认为?
angular ×2
typescript ×2
vue.js ×2
angular-cli ×1
angular2-cli ×1
firebase ×1
javascript ×1
logging ×1
mongoose ×1
nat ×1
p2p ×1
rxjs ×1
rxjs5 ×1
vuejs3 ×1
webpack ×1
webrtc ×1