Должен ли я добавить "использовать строгую" в мои файлы метеоров?

В javascript-разработке, выполняющем ваш код в строгом режиме, добавив:

"use strict";

К началу ваших функций - общая передовая практика. Однако я еще не видел, чтобы кто-то делал это в приложении метеорита.

Не подходит ли эта лучшая практика для Метеор?

Может быть, потому, что он устанавливает строгий режим на более высоком уровне? Я знаю, что node может быть запущен с параметром командной строки -use-strict, чтобы обеспечить его выполнение. Но я не знаю, как сделать то же самое в клиенте.

Ответы

Ответ 1

Использование "use strict" в Meteor по-прежнему является хорошей практикой - это JavaScript в конце концов.

Ответ 2

Есть два варианта, которые я знаю, если вы хотите 'use strict' в верхней части ваших файлов Meteor.

Во-первых, нужно определить глобальную переменную типа APP в одном из ваших верхних файлов Meteor (а не в режиме 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. - каждый раз, когда вы хотите использовать свои "глобальные" ссылки, они по-прежнему работают как глобальные, и вам нужно использовать G. - once &mdash, для ваших объявлений.

Ответ 3

Если вы используете гармонию (es6) и хотите использовать глобальную переменную, вы можете использовать export.

"use strict"
export var Book = new Mongo.Collection('book');