0

以下に示すコードを実行したノードの出力は次のとおりです。

all Loaded
dbModule undefined
mongoose loaded

appMod2 で dbMod2 への参照を取得できません。何を試すべきですか?

//server.js
var requirejs = require( 'requirejs');

process.on( 'uncaughtException', function(error) {
    console.log( 'Exception ' + error.stack);
    process.exit( 1);
});

requirejs.config({
    baseUrl: '.',
    nodeRequire: require
});

requirejs(['./appMod2'], function() {
    console.log( "all Loaded");
})

// appMod2.js
require(['./dbmod2'], function( dbmodule) {
    console.log( "dbModule " + dbmodule);
});

// dbmod2.js
require(['mongoose'], function( mongoose) {
    Schema = mongoose.Schema;
    console.log( "mongoose loaded");
});
4

1 に答える 1

0

「require」呼び出しを「define」に置き換え、return ステートメントをモジュールに追加する場合:

// dbmod2.js
define(['mongoose'], function( mongoose) {
    Schema = mongoose.Schema;
    console.log( "mongoose loaded");

    return 'dbmod2';
});

// appMod2.js
define(['./dbmod2'], function( dbmodule) {
    console.log( "dbModule " + dbmodule);

    return 'appMod2';
});

私はこの出力を得る:

mongoose loaded
dbModule dbmod2
all Loaded

requirejs では、依存関係配列に続いて関数に渡されるオブジェクトは、依存関係によって返されるオブジェクトです。

于 2013-02-06T22:18:10.287 に答える