为什么要求文本插件以一种方式工作而不是另一种方式?

时间:2015-08-20 08:24:33

标签: javascript requirejs

当我尝试使用完整路径text加载requirejs的"Scripts/text"插件时,会抛出脚本错误。

requirejs.config({
    waitSeconds: 30,
    paths: {
    }
});

var libs = ["Scripts/knockout-3.3.0", "Scripts/Application", "Scripts/text"];

define(libs, function (ko, application) {
    //implementation
}

enter image description here

但是当配置中的path中定义文本插件路径时,它可以正常工作。

requirejs.config({
    waitSeconds: 30,
    paths: {
        text: "Scripts/text"
    }
});

var libs = ["Scripts/knockout-3.3.0", "Scripts/Application", "text"];

define(libs, function (ko, application) {
    //implementation
}

为什么?在定义文本插件的路径时,它不应该完全不相关吗?

1 个答案:

答案 0 :(得分:0)

您说的第一个代码段失败的代码将text插件称为Scripts/text。但是,您的错误消息提到无法加载名为text的模块。当我尝试复制您所说的错误时,RequireJS报告的错误消息并不是它无法加载text,而是无法加载Scripts/text。换句话说,如果您遇到了错误,那么错误消息将与您在问题中显示的错误消息不同。我推断问题不在你想象的地方。

您的代码库中的另一个模块很可能将text插件称为text。在第一个配置中,您没有paths定义,因此加载失败。在第二个配置中,您确实有paths定义,因此加载有效。