转换requirejs的现有javascript文件

时间:2013-10-23 12:39:52

标签: javascript requirejs

我有一个类似下面的javascript文件.. 首先,我定义了一些函数,并在某个事件上调用函数(document.ready here)

function foo(arg) {
    return arg;
}

function bar(arg) {
    return arg;
}

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

现在我正在尝试使用requirejs,并且无法弄清楚如何修改此文件。

2 个答案:

答案 0 :(得分: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对象。

答案 1 :(得分:0)

假设您有两个文件,main.js,其中包含对require的初始调用,以及code.js,其中包含代码。你能做的是:

在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中访问