2016-02-18 2 views
1

Является ли это плохая форма, чтобы иметь несколько вызовов Var, такие как:Multiple вара является узел app.js

var init = require('./config/init')(), 
    config = require('./config/config'), 
    express = require('express'), 
    errorHandler = require('errorhandler'), 
    bodyParser = require('body-parser'), 
    expressValidator = require('express-validator'), 
    mongoose = require('mongoose'), 
    path = require('path'), 
    _ = require('lodash'), 
    passport = require('passport'), 
    passport_config = require('./config/passport'), 
    session = require('express-session'), 
    MongoStore = require('connect-mongo')(session), 
    swagger = require("swagger-node-express"), 
    secrets = require('./config/secrets'), 
    multer = require('multer'); 

Или я должен установить каждый сам по себе?

+1

POB. Мне нравится использовать один «var», который сохраняет несколько нажатий клавиш. – Tushar

+1

Его полностью прекрасно, если вам удобно. – Rana

+0

Я только начал играть с JSLint, и это волновало - я не был уверен, что я что-то упустил. –

ответ

4

Поскольку вы используете его для импорта модулей npm в глобальном масштабе, все в порядке. Но в целом лучше всего объявить var для каждой переменной. Причина в том, что отсутствие , приведет к созданию любых следующих переменных в глобальной области. Например, попробуйте поймать ошибку в этом:

var init = require('./config/init')(), 
    config = require('./config/config'), 
    express = require('express'), 
    errorHandler = require('errorhandler'), 
    bodyParser = require('body-parser') 
    expressValidator = require('express-validator'), 
    mongoose = require('mongoose'), 
    path = require('path'), 
    _ = require('lodash'), 
    passport = require('passport'), 
    passport_config = require('./config/passport'), 
    session = require('express-session'), 
    MongoStore = require('connect-mongo')(session), 
    swagger = require("swagger-node-express"), 
    secrets = require('./config/secrets'), 
    multer = require('multer'); 
+0

Или вы можете просто использовать строгий режим ... если вы положите «использовать строгий» в верхней части этого примера, тогда вы получите ReferenceError. –

+1

Тогда ваш весь код должен соответствовать стандартам директивы «use strict», и это не просто включает способ объявления переменных. Кроме того, браузеры, которые не поддерживают строгий режим, будут работать с строгим кодом режима с различным поведением браузеров. – nshoute

+0

@nshoute - Вчера я столкнулся с этой точной проблемой, когда начал применять «строгое использование» и вызвал ошибки приложения. –

Смежные вопросы