如何获取javascript文件的对象(句柄)

How to get an object(handle) of a javascript file?

本文关键字:对象 句柄 文件 javascript 获取 何获取      更新时间:2023-09-26

我正在使用requireJS,我有两个文件(app,js和file1.js)。我需要使用 require() 在 app.js 中实例化 file1.js,然后从 app.js 调用 file1.js 中的函数。我该怎么做?

应用.js

define(function(require){
    var file1 = require('file1.js');
    file1.load_function();
}

文件1.js

define([], function(){
    var load_function = function(){
        //Some logic
    }
}

但在这里,"load_function()"是在没有被调用的情况下加载的。而且我使用"var file1"作为句柄的方式存在错误。

有没有办法从"app.js"中处理"file1.js"?

如何防止函数在不被调用的情况下加载(执行)?

您的app.js文件中没有错误。行var file1 = require('file1.js');加载模块file1.js并将其绑定到局部变量file1。然后你可以打电话给file1.load_function().

您需要导出函数:

define(function (require, exports, module) {
    var load_function = function(){
        //Some logic
    }
    exports.load_function = load_function;
});

顺便说一下,您永远不应该将.js扩展名放在模块名称中,因此请将名为file1.js的文件中的模块称为file1