我应该添加"使用严格的"我的流星文件?

时间:2014-05-23 12:54:09

标签: javascript meteor

在javascript开发中,通过添加:

在严格模式下运行代码
"use strict";

在功能开始时,这是一种常见的最佳做法。但是我还没有看到有人在流星应用程序中这样做。

这种最佳做法不适用于Meteor吗?

也许是因为它在更高级别设置严格模式?我知道可以使用--use-strict命令行参数运行该节点来强制执行此操作。但我不知道在客户端做同样的事情。

3 个答案:

答案 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');