requirejs больше не загружает сценарии cdn после оптимизации - PullRequest
5 голосов
/ 07 февраля 2012

Я изо всех сил пытаюсь заставить requirejs работать после оптимизации с помощью r.js Хорошо работает до оптимизации Я следую документации по настройке main.js и профиля сборки, используя empty: Однако после оптимизации сценарии CDN больше не загружаются.

публичный / index.html

<script data-main="editor/js/main" src="editor/js/vendor/require.js"></script>

публичный / редактор / JS / main.js

requirejs.config({
  baseUrl: "/editor/js",
  paths: {
      "jquery": "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min",
      "order": "vendor/require_order",
      "underscore": "vendor/underscore",
      "handlebars": "vendor/handlebars-1.0.0.beta.4",
      "jquery.mobile.router": "vendor/jquery.mobile.router",
      "jquery.mobile": "http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min"
  }
});
require(["order!jquery", "order!underscore", "order!handlebars", "order!jam", "order!jquery.mobile"], function () {
  //loaded
});

конфиг / build.js

({
  baseUrl: "../public/editor/js",
  name: "main",
  out: "../public/editor/js/main-built.js",
  paths: {
      "order": "vendor/require_order",
      "underscore": "vendor/underscore",
      "handlebars": "vendor/handlebars-1.0.0.beta.4",
      "jquery.mobile.router": "vendor/jquery.mobile.router",
      "jquery": "empty:",
      "jquery.mobile": "empty:"
  }
})

Когда я запускаю r.js node config/r.js -o config/build.js main-built.js успешно собран.

1 Ответ

0 голосов
/ 04 июля 2013

Есть ли конкретная причина, по которой вы загружаете все, используя плагин заказа?

Были ли у вас проблемы с порядком загрузки в вашем встроенном JavaScript?

Если вы загружаете jQuery mobile нормально (безплагин) Ваша «пустая» конфигурация должна вступить в силу.

require(["jquery", "underscore", "handlebars", "jam", "jquery.mobile"], function () {

http://requirejs.org/docs/optimization.html#empty

Вам также необходимо определить цепочку зависимостей для jQuery.mobile.router

requirejs.config({

    paths: {
      "jquery": "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min",
      "order": "vendor/require_order",
      "underscore": "vendor/underscore",
      "handlebars": "vendor/handlebars-1.0.0.beta.4",
      "jquery.mobile.router": "vendor/jquery.mobile.router",
      "jquery.mobile": "http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min"

    },

    shim: {
        "router": {
            "deps" : ["jquery.mobile"]
        },
        "jquery.mobile" : {
            "deps" : [ "jquery.mobile.router"],
            "exports": "$.mobile" 
        },

        "jquery.mobile.router": {
          "exports": "$.mobile.Router"
        }
    }
});

см. Ответ на этот вопрос:

Require.js с jQueryMobile-Router

Я надеюсь, что это решит ваши проблемы с requirejs, яобнаружил, что это очень мощный и полезный инструмент, как только вы привыкнете к его структуре.

_Pez

...