gpt4 book ai didi

requirejs - 使用 RequireJs 按特定顺序加载文件

转载 作者:行者123 更新时间:2023-12-03 02:24:58 27 4
gpt4 key购买 nike

我是 RequireJS 的新手,我对加载顺序感到困惑。

我有一个全局项目配置,需要在位于 js/app/* 的模块之前加载。

这是我的结构:

index.html
config.js
js/
require.js
app/
login.js
lib/
bootstrap-2.0.4.min.js

这是 config.js 文件:

var Project = {
'server': {
'host': '127.0.0.1',
'port': 8080
},
'history': 10, // Number of query kept in the local storage history
'lang': 'en', // For future use
};

这是我的 requirejs 文件 (app.js):

requirejs.config({
//By default load any module IDs from js/lib
baseUrl: 'js/lib',
//except, if the module ID starts with "app",
//load it from the js/app directory. paths
//config is relative to the baseUrl, and
//never includes a ".js" extension since
//the paths config could be for a directory.
paths: {
bootstrap: '../lib/bootstrap-2.0.4.min',
app: '../app',
},
shim: {
'app': {
deps: ['../../config'],
exports: function (a) {
console.log ('loaded!');
console.log (a);
}
} // Skual Config
},
});

var modules = [];
modules.push('jquery');
modules.push('bootstrap');
modules.push('app/login');


// Start the main app logic.
requirejs(modules, function ($) {});

但有时,当我加载页面时,我有一个“Project”未定义,因为login.js已在config.js之前加载。

无论如何,如何强制首先加载 config.js?

注意:我看到 order.js 作为 RequireJS 的插件,但自 v2 以来它显然不受支持,被 shim 取代。

最佳答案

今天遇到了类似的问题 - 我们有引导数据,我们希望确保在其他任何内容之前加载这些数据,并且暴露该数据的模块是在评估任何其他模块之前设置的。

我发现强制加载顺序的最简单解决方案是简单地要求在继续应用程序初始化之前加载模块:

require(["bootstrapped-data-setup", "some-other-init-code"], function(){
require(["main-app-initializer"]);
});

关于requirejs - 使用 RequireJs 按特定顺序加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11581611/

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