Вот функция из жасминового 2.0.0 автономного проекта:Свойство модуль не определен при использовании vm.runInThisContext
function getJasmineRequireObj() {
if (typeof module !== "undefined" && module.exports) {
return exports;
} else {
window.jasmineRequire = window.jasmineRequire || {};
return window.jasmineRequire;
}
}
Я думаю, что если я буду использовать стандартный метод требует свойство модуля будет определять. Когда я загрузить этот файл, используя модуль VM следующим образом модуль глобальное свойство не определено:
var fs = require('fs');
var vm = require('vm');
var jasmineFile = fs.readFileSync(__dirname + '/jasmine.js');
vm.runInThisContext(src, jasmineFile);
Это ожидаемое поведение модуля ВМ или дефект?
Так почему бы кто-то использовать метод runInConext, если это делает жизнь трудной? – Ikaso
'runInThisContext' используется как стабильная альтернатива' eval', плюс позволяет устанавливать имя файла. Я не думаю, что это действительно полезно, но используется в ядре узла, так почему бы не разоблачить его? – vkurchatkin
да, если я это сделаю, я получаю такие вещи, как «консоль» не определена. –