0

なぜこれが機能しないのかわかりません。他の場所で呼び出されるまで評価されないという信念を持って、関数を無名関数でラップしました。しかし、「dropchart」が定義されていないというエラーが発生したため、このモジュール内で評価されています。

define(function() {
  var stage = {
    before: {
      createCanvas: function() {
        return function() {
          before(function(done) {
            this.canvas = new dropchart.Canvas({
              canvas: argsFor.canvas(),
              data: argsFor.data()
            });
            done();
          });
        };
      }
    }
  };
  return stage;
});

これは、他のモジュールから呼び出される方法です。

define(['jquery', 'dropchart', 'argsFor', 'stage'], 
  function($, dropchart, argsFor, stage) {

  var should = chai.should();
  var xAxisSpec = {

    run: function() {

      describe('xAxis', function() {

        stage.before.createCanvas();

        ...
4

1 に答える 1

1

stageモジュールには、呼び出し元モジュールではなくargsFordropchart依存関係があります。

呼び出し元のモジュールはstage、引数としてそれらを渡すstage.before.createCanvasか、require.jsのポイント全体を無効にするグローバルスコープにそれらを配置しない限り、どういうわけかそれらをモジュールで使用可能にすることはできません

于 2012-05-27T18:15:42.313 に答える