我遇到 RequireJS 的问题,当我有 require <时,我无法导出一组功能/ strong>声明。
假设我有一个名为 mySubFile.js 的文件,首先我需要注入 jQuery ,然后再注入另一个依赖项。现在,让我们假设我有 myFunction ,我想导出它以便从另一个文件调用。
define('mySubFile', ['jquery'], function ($) {
require(['dependency1'], function (dependency1) {
let myFunction = function(){ return "Hey There"; }
return : {
myFunction : myFunction
}
});
});
现在让我们假设我想从 myFile.js 调用该函数:
define('myFile', ['jquery'], function ($) {
require(['mySubFile'], function (mySubFile) {
console.log(mySubFile.myFunction());
});
});
这不起作用。我明白了:
无法阅读属性&#39; myFunction&#39;未定义的。
另一方面,如果我按如下方式定义 mySubFile.js :
define('mySubFile', ['jquery', 'dependency1'], function ($, dependency1) {
let myFunction = function(){ return "Hey There"; }
return : {
myFunction : myFunction
}
});
我可以访问 myFunction ,但我需要先解析 jQuery 。
我正在努力寻找解决方案,但仍然找不到任何东西。
我该如何解决这个问题?
答案 0 :(得分:1)
如果你总是需要在模块之前使用jQuery,你可以这样做:
define("mySubFile", function(require, exports, module){
var a = require("jQuery"), // dependency
b = require("knockout"); // dependency
/* rest of the code for this module */
let myFunction = function(){ return "Hey There"; }
return : {
myFunction : myFunction
}
});