RequireJs依赖关系始终未定义

问题描述 投票:2回答:2

我正在使用require Js,对于为什么我的模块正在加载但依赖项始终未定义,甚至在使用require.defined()函数检查我的模块是否已加载时,我已经感到相当困惑,但确实是在使用时require([deps],function(deps){});我所有的依赖项都是不确定的(jquery,下划线和敲除除外)

我的文件结构如下我的文件结构如下

scripts 
    |
    |        
    main.js
    |
    |_________BusinessScripts
    |           |
    |           |
    jquery.js   |
    |           |
    |           boostrapper.js-undefined
    ko.js       |
                |
                dataservice.js-undefined

这是我的主文件的示例,它开始需要

requirejs.config(
    {
        paths: {
            'jquery': 'jquery-1.7.1',
            'underscore': 'underscore',
            'ko': 'knockout-2.2.1'
        },
        shim: {
            underscore: { exports: '_' },
        }
    }
);


requirejs(['require', 'BusinessScripts/bootstrapper', 'BusinessScripts/dataservice'],
function (require,bootstrapper, dataservice) {

    var def = require.defined('BusinessScripts/bootstrapper'); //this returns true

    if (dataservice !== undefined) { // always undefined

        alert("Loaded properly");
    } else {
        alert("not loaded!!!");
    }

    if (bootstrapper !== undefined) { // always undefined


        alert("Loaded properly");
    } else {
        alert("not loaded!!!");
    }

});

我的数据服务类做了一个很长的jquery,但是作为一个简单的例子,我的引导程序几乎什么也没做

//bootstrapper
define(function () { var one = 1; 
var run = function () {
}
});

//dataservice

define(['jquery', 'underscore'],function ($, _) {
    $.ajax({lengthy work...});

});

正如我所说的,两个模块都已加载,但从未解决过

任何帮助将不胜感激。

javascript requirejs
2个回答
5
投票
例如,您应该稍微重写一下模块:

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.