Requirejs 正在寻找错误的路径

标签 requirejs

这是 /themes/ifd/js/ 文件夹中的配置文件:

require.config({
    // Initialize the application with the main application file
    deps: ['plugins/console', 'main'],
    baseUrl: '/themes/ifd/js/components'
    paths: {
        jquery: 'jquery/jquery.min',
        flexslider: 'flexslider/jquery.flexslider-min',
        easydropdown: 'easydropdown/jquery.easydropdown.min',
        bpopup: 'bpopup/jquery.bpopup.min',
        jqrangeslider: 'jqrangeslider/jQRangeSlider',
        jqueryui: 'jquery-ui/js/jquery-ui-1.10.4.custom.min'
        // More additional paths here
    },
    shim: {
        jqueryui: 'jquery'
    },
    // Prevent caching issues, by adding an additional URL argument
    urlArgs: 'bust=' + (new Date()).getDate()
});

我在 /themes/ifd/js 文件夹中也有一个 main.js 文件:

require([
    // Require the modules
    'modules/module',
    'jquery',
    'flexslider',
    'easydropdown',
    'bpopup',
    'jqueryui',
    'jqrangeslider'
], function (module) {
    'use strict';
    // Rest of a file

其余文件(模块?)位于 /themes/ifd/js/components 内:

Screenshot of list of files

在我的 HTML 中,我有:

<script data-main="/themes/ifd/js/main" src="/themes/ifd/js/requirejs.js"></script>

我在 Chrome 控制台中看到的消息:

GET http://DOMAIN/themes/ifd/js/jquery.js 404 (Not Found) requirejs.js:34
GET http://DOMAIN/themes/ifd/js/flexslider.js 404 (Not Found) 

我找不到问题所在以及为什么它不在组件目录中搜索...

最佳答案

requirejs 的入口点是 html 文件中指定的主模块。

<script data-main="/themes/ifd/js/main" src="/themes/ifd/js/requirejs.js"></script>

requirejs 首先加载“/themes/ifd/js/main.js”。现在在 main.js 文件中, require([...]) 尝试加载 args 中指定的模块,但 requirejs 将无法找到它们。

原因是 requirejs 不知道它们,因为 require.config (...) 没有执行。

需要在“/themes/ifd/js/main.js”中有“require.config (...)”才能完成所有设置

这是一个working example 。它包括 Requirejs、jQueryMobile、Backbone 和 Marinonette。

index.html文件中,需要指定requirejs加载的主模块。

<script type="text/javascript" data-main="js/main" src="js/libs/require-2.1.2.min.js"></script>

在此示例中,主模块位于 "js/main.js"

在 main.js 中,您指定 require.config 并使用 Define 来加载模块。

关于Requirejs 正在寻找错误的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21892452/

相关文章:

javascript - 如何使用 Require JS 加载 JSON.js 库以使 Backbone 应用程序在 IE7 中运行?

javascript - 在backbone.js中的两个 View 上访问集合

javascript - 使用 require.js 加载 spin.js

javascript - RequireJS 构建错误 [RangeError : Maximum call stack size exceeded]

javascript - 使用 requirejs 加载 Backbone 插件

javascript - 与 requirejs 连接并排除单个文件?

jquery-mobile - Phonegap 和框架的世界?

javascript - 使用 requirejs 和 typescript 的 Node 模块

javascript - 使用 RequreJS、TypeScript 将 Redux 导入到我的 ASP.NET MVC 项目中(需要错误 : Script error for "redux",...)

javascript - 在 Angular 延迟加载时加载外部模块