Так что я начал изучать JavaScript, и исходя из .net фона я нашел следующий код:Javascript передавая аргумент: Странная Синтаксис
express.js Файл:
var express = require('express');
module.exports = function() {
var app = express();
require('../app/routes/index.server.routes.js')(app);
return app;
};
файла index.server.routes .js:
module.exports = function(app) {
var index = require('../controllers/index.server.controller');
app.get('/', index.render);
};
Как книга объяснения index.server.routes.js имеют эту функцию (приложение), и приложение является экспресс-объект, используемый для конфигурации (это настройка «/» путь). Все в порядке.
То, что я не понимаю, следующий синтаксис:
require('../app/routes/index.server.routes.js')(app);
То, что я понимаю, что он передает в приложение аргумент модуля index.server.routes.js и этот модуль устанавливает ГЭТ.
Но может ли кто-нибудь объяснить, как работает этот синтаксис? Исходя из фона .net, мне кажется кастинг (очень странный и запутанный).
Что такое 'require' функция? Разве это отличается от встроенного Javascript? Если это так, пожалуйста, вопрос как таковой. – thatidiotguy
требуется функция CommonJS, используемая для загрузки модулей javascript ... CommonJS является стандартом. –
'require()' - это функция, которая возвращает функцию. Возвращаемая функция специфична для переданных аргументов. Этот пример - это просто вызов возвращаемой функции немедленно и с параметром app. – Malk