0

以下のようなJavaScriptファイルがありました..最初に、いくつかの関数を定義し、いくつかのイベントで関数を呼び出します(document.ready here)

function foo(arg) {
    return arg;
}

function bar(arg) {
    return arg;
}

$(document).ready(function(){
    doSomething();
});

今、requirejs を使用しようとしていますが、このファイルを変更する方法がわかりません。

4

2 に答える 2

0

このアプローチを試すことができます:

define(['dep'], function (dep) {  //If you have any dependency

    function foo(arg) {
      return arg;
    }

    function bar(arg) {
      return arg;
    }

    return {

      myMethods: {
        bar: bar(arg),
        foo: foo(arg)
      }

    };
});

ここに document.ready を含めないでください。代わりに、このモジュールを依存関係として使用する場所を使用してください。

このモジュールはmyMethods、メソッドを含むオブジェクトを返します。

于 2013-10-23T12:49:18.967 に答える
0

require の最初の呼び出しを含む main.js と、コードを含む code.js の 2 つのファイルがあるとします。あなたができることはこれです:

main.js で

$(function () {

    require([
      "/Url_To_Code.JS_Here"
    ], function (
        code) {
          code.doSomething();
    });
});

code.js で:

define(
    [],
    function () {   

        var foo = function () {

        }; 

        var doSomething = function () {

        };

        return {
            doSomething : doSomething 
        };
    }
);

したがって、code.js からエクスポートしたもの (返されるもの) は何でも、main.js でアクセスできます。

于 2013-10-23T12:49:30.047 に答える