RequireJs - 嵌套需要JS文件

时间:2016-05-13 07:11:56

标签: javascript jquery requirejs

我有4个脚本文件。

  1. script.js - >主脚本文件
  2. testApp.js
  3. addition.js
  4. multiplication.js
  5. script.js需要testApp.js和testApp.js需要addition.js和multiplication.js。
    我需要在script.js的

    中计算函数的输出

    错误 - 未定义add()。

    我的代码 -

    的script.js

    require(["testApp"],function(){
        alert("hello Script");
        alert(calculate());
    });
    

    testApp.js

    define(["addition","multiplication"], function calculate(){ 
        alert("hello testApp");
        var c;
        var a=5;
        var b=10;
        c = add(a,b)+mul(a,b);
        return c;
    });
    

    addition.js

    define(function add(a,b){
        alert("hello Addition");
        return a+b;
    });
    

    multiplication.js

    define(function mul(a,b){
        alert("hello Multiplication");
        return a*b;
    });
    

2 个答案:

答案 0 :(得分:0)

我在本地尝试过这种方式并且有效:

<强> testApp.js

define(["addition","multiplication"], function(addition, multiplication){ 
  alert("in testApp");
  return {
    calculate :function(){
        alert("hello testApp");
        var c;
        var a=5;
        var b=10;
        return addition.add(a,b)+ multiplication.mul(a,b);
     }
 } 
});

<强> addition.js

 define([], function(){
    return {
     add: function(a,b){
      alert("hello Addition");
      return a+b;
     }
   }
});

<强> multiplication.js

 define([], function(){
    return {
     mul: function(a,b){
      alert("hello Multiplication");
      return a*b;
     }
   }
});

最后在您的代码中:

   require(["testApp"],function(testApp){
     alert("hello main script");
     alert(testApp.calculate());
   });

答案 1 :(得分:0)

试试这个

<强> addition.js

function add(a,b){
    alert("hello Addition");
    return a+b;
}

<强> multiplication.js

function mul(a,b){
    alert("hello Multiplication");
    return a*b;
}

<强> testApp.js

function calculate(){ 
    alert("hello testApp");
    var c;
    var a=5;
    var b=10;
    c = add(a,b)+mul(a,b);
    return c;
}

最后 Script.js

requirejs.config({
    shim: {
        'testApp': ['addition','multiplication'],
    }
});
require(["testApp"], function () {
    alert("hello Script");
    alert(calculate());
});

使用requireJS

中的shim定义依赖项