【问题标题】:RequireJS not loading from paths confingRequireJS 未从路径配置加载
【发布时间】:2013-11-16 19:12:12
【问题描述】:

我有以下 main.js

requirejs.config({
  baseUrl: 'js',
  paths: {
    "jquery": "http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"
  },
  shim: {
    'backbone': {
      deps: ['underscore', 'jquery'],
      exports: 'Backbone'
    },
    'marionette': {
      deps: ['jquery', 'underscore', 'backbone'],
      exports: 'Marionette'
    },
    'underscore': {
      exports: '_'
    }
  }

});

需要查询的代码:

define(['jquery', 'backbone', 'marionette'], function($, Backbone, Marionette) {

Backbone、marionette 和 underscore 都可以正确加载,但 requireJS 会忽略“paths”配置并尝试从 js/jquery.js,而不是 CDN 加载 jquery。

使用需要 2.1.9

【问题讨论】:

  • 你能告诉我们使RequireJS加载jQuery的代码吗? (将 jQuery 列为要求的 define 或提及 jQuery 的 require。)
  • 我已按要求更新了

标签: javascript jquery requirejs


【解决方案1】:

您应该从 CDN URL 中排除“.js”扩展名,就像您在 baseUrl 目录中的文件路径一样:

paths: {
    "jquery": "http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min"
  },

【讨论】: