在javascript开发中,通过添加:
在严格模式下运行代码"use strict";
在功能开始时,这是一种常见的最佳做法。但是我还没有看到有人在流星应用程序中这样做。
这种最佳做法不适用于Meteor吗?
也许是因为它在更高级别设置严格模式?我知道可以使用--use-strict命令行参数运行该节点来强制执行此操作。但我不知道在客户端做同样的事情。
答案 0 :(得分:14)
如果您想在Meteor文件的顶部'use strict'
,我知道有两个选项。
第一个是在你的一个顶级Meteor文件中定义一个全局变量,如APP
(而不是strict
模式),然后使用它来命名所有以前的全局变量:
// first file
APP = {};
// later file
'use strict';
APP.Stuff = new Mongo.Collection('stuff');
APP.Stuff.find({});
第二种方法是在第一个文件中创建一个全局别名:
// first file
G = this;
// second file
'use strict';
G.Stuff = new Mongo.Collection('stuff');
Stuff.find({});
后者的好处是你不需要输入App.
- 每次你想要使用你的“全局”引用时 - 它们仍然作为全局变量使用,你只需要使用{{1 - 一次 - 用于你的声明。
答案 1 :(得分:8)
在Meteor中使用"use strict"
仍然是一个很好的做法 - 毕竟它是JavaScript。
答案 2 :(得分:3)
如果您正在使用和声(es6)并且想要使用全局变量,则可以使用export。
"use strict"
export var Book = new Mongo.Collection('book');