gpt4 book ai didi

javascript - 如何使用requirejs保证javascript中的依赖类

转载 作者:行者123 更新时间:2023-12-02 16:34:13 27 4
gpt4 key购买 nike

我希望下面的代码能够保证parentClass在childClass之前加载,并且两者都会在调用startMyApp之前加载。

require([
"parentClass",
"childClass"
], function (parentClass, childClass){
Main.startMyApp();
});

如果不是,我如何保证? Main,是一个对象。子类定义如下:

var childClass = function childClass()   {
this.name = 'some name';
};
childClass.prototype = new parentClass();
childClass.prototype.constructor = childClass;

这是父类:

var parentClass = function parentClass() {

};
parentClass.prototype.myFunction = function myFunction(){
//do something
}

我试图避免向我的所有类添加定义,我有几十个。这是保证我需要类(class)时可以类的唯一方法吗?谢谢!

最佳答案

调用 require(["parentClass", "childClass"], ... 告诉 RequireJS 加载两个模块,但此调用不会强制执行的顺序模块已加载。强制模块顺序的是您在模块之间建立的依赖关系。

由于这是您自己的代码,并且您已决定使用 RequireJS,因此您应该编写适当的 AMD 模块。要建立依赖关系,请将它们列为 define 调用的第一个参数(如果需要)。对于您的父类:

define(function () {
var parentClass = function parentClass() {

};
parentClass.prototype.myFunction = function myFunction(){
//do something
}

return parentClass;
});

对于您的 child 类(class):

define(['parentClass'], function (parentClass) {
var childClass = function childClass() {
this.name = 'some name';
};
childClass.prototype = new parentClass();
childClass.prototype.constructor = childClass;

return childClass;
});

那么无论其他模块需要childClass,只需要您的childClass模块,并且parentClass保证在childClass之前加载> 因为 parentClassdefine 调用中被列为依赖项

关于javascript - 如何使用requirejs保证javascript中的依赖类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28057485/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com