Использование оптимизатора в requirejs для группы и загрузки файлов

StackOverflow https://stackoverflow.com/questions/5356631

  •  27-10-2019
  •  | 
  •  

Вопрос

Мы только начали использовать потребности в нашем проекте, и нам это нравится. В настоящее время мы просто используем его для управления нашими многочисленными плагинами jQuery, на которых работает сайт, поэтому едва ли царапает поверхность его потенциала ... но из -за времени, которые должны ждать.

У меня есть некоторые проблемы с получением оптимизатора, так как я хотел бы, чтобы это было, мне интересно, можно ли сказать мне, можно ли это сделать. Моя структура каталогов:

> /common/
> /common/*.js - common plugins used on most pages on the site
> /infrequent/
> /infrequent/infrequentModule.js
> /infrequent/ckeditor
> /infrequent/ckeditor/1000s.js
> /require.js
> /jquery.js
> /main.js - this file contains all scripts in common. It looks at the page and call the necessary plugins.

Оптимизация/строительство надежды:

  • main.js будет содержать все общие сценарии. На большинстве страниц этот сценарий будет единственным загруженным (кроме требований.
  • Main.js смотрит на страницу, если она видит, что ей нужен нечастый плагин/модуль, он загружает этот асинхрон. Таким образом, на редкой странице я могу загрузить require.js, main.js и upretentmodule.js.

Я пробовал различные методы в скрипте сборки, чтобы исключить и включить файлы, чтобы получить желаемые результаты, но безрезультатно. У кого -нибудь есть идеи или знает, возможно ли это, на самом деле, возможно?

Это было полезно?

Решение

Итак, я получил несколько отличных ответов на группу Google для require.js - http://groups.google.com/group/requirejs/browse_thread/thread/359b02473f4e707

Ниже приведен полезный ответ, который мне дал, что, я надеюсь, может помочь кому -то другому ...

Привет, я сейчас делаю это в одном из моих проектов, вот мой сборник.

paths: { 
                //load libs from cdn 
                "jqueryUI": "jqueryUI", //temp static file for build 
                "swfobject": "swfobject", //temp static file for build 
                "Templates": "../Templates/Settings" 
        }, 
modules: [{ 
            name: "appName", 
                        excludeShallow: ["jqueryUI", "swfobject", "Modules/ 
module.preferences"] 
        } 

Затем в одном из моих модулей у меня требуется вызов для модулей/ модулей. Представления, которые я выполняю, когда мне это нужно:

function loadPreferences(){ 
 require(["Modules/module.preferences"],function(){ 
                     //Execute some init code after the module has 
loaded 
         }) 
 } 
} 

Это достигает того, что вы описали, где мне потребовалось, и основной загрузки на загрузке страницы, затем Module.Preferences загружает асинхронность, когда мне это нужно. Надеюсь, это поможет, Джефф.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top