jasmine 2.0.0 スタンドアロン プロジェクトの関数を次に示します。
function getJasmineRequireObj() {
if (typeof module !== "undefined" && module.exports) {
return exports;
} else {
window.jasmineRequire = window.jasmineRequire || {};
return window.jasmineRequire;
}
}
標準のrequireメソッドを使用すると、モジュールのプロパティが定義されると思います。次のように VM モジュールを使用してこのファイルをロードすると、モジュールのグローバル プロパティが未定義になります。
var fs = require('fs');
var vm = require('vm');
var jasmineFile = fs.readFileSync(__dirname + '/jasmine.js');
vm.runInThisContext(src, jasmineFile);
これは VM モジュールの予期された動作ですか、それとも欠陥ですか?