Отдельная команда / запрос DbContext в EFCore throw. Уже есть открытый DataReader.

в файле node.js узла js используется для запуска системы module.load. Каждый раз, когда узел выполняет файл, он переносит содержимое вашего js-файла, как показано далее

'(function (exports, require, module, __filename, __dirname) {',+
     //your js file content
 '\n});'

из-за этой упаковки внутри ur js исходный код, вы можете получить доступ к экспорту, требованию, модулю и т. д. Этот подход используется, потому что нет другого способа получить функциональность, написанную в файле js другому.

Затем узел выполняет эту завернутую функцию используя c ++. в этот момент объект экспорта, который передается в эту функцию, будет заполнен.

вы можете видеть внутри этих параметров параметров параметров и модуля. Фактически экспорт является публичным членом функции конструктора модуля.

смотрите следующий код

скопируйте этот код в b.js

console.log("module is "+Object.prototype.toString.call(module));
console.log("object.keys "+Object.keys(module));
console.log(module.exports);
console.log(exports === module.exports);
console.log("exports is "+Object.prototype.toString.call(exports));
console.log('----------------------------------------------');
var foo = require('a.js');
console.log("object.keys of foo: "+Object.keys(foo));
console.log('name is '+ foo);
foo();

скопируйте этот код в a.js

exports.name = 'hello';
module.exports.name = 'hi';
module.exports.age = 23;
module.exports = function(){console.log('function to module exports')};
//exports = function(){console.log('function to export');}

теперь выполняется с использованием узла

, это вывод

module is [object Object]
object.keys id,exports,parent,filename,loaded,children,paths
{}
true

export is [object Object]

object.keys foo: name is function () {console.log ('функция для экспорта модулей')} функция для экспорта модулей

теперь удаляет прокомментированную строку в a.js и комментирует строку выше эту строку и удалить последнюю строку b.js и запустить.

в мире javascript вы не можете переназначить объект, который передается как параметр, но вы можете изменить публичный член функции, когда объект этой функции задан как параметр для другого function

помните, что

использует module.exports и только если вы хотите получить функцию при использовании ключевого слова require. в приведенном выше примере мы var foo = require (a.js); вы можете видеть, что мы можем вызвать foo как функцию,

так объясняет документацию узла. Объект экспорта создается системой модулей. Иногда это неприемлемо, многие хотят, чтобы их модуль был экземпляром для некоторого класса. Для этого назначьте желаемый объект экспорта в module.exports. "

0
задан Ali.M 16 January 2019 в 12:29
поделиться