2014-09-19 5 views
3

Я использую Meteor для создания приложения для передачи данных в реальном времени, поскольку Meteor делает так много обновлений в реальном времени и других связанных с ним вещей. Единственное, что меня останавливает, это то, что Meteor загружает все файлы (кроме файлов в общедоступных и серверных папках) клиенту. Допустим, я разрабатываю очень большое приложение, содержащее так много модулей. Для некоторых пользователей будут доступны только определенные модули. Таким образом, весь код, связанный с другими модулями, будет загружаться без необходимости. Начальная загрузка страницы также займет много времени. Возможно, будут проблемы с безопасностью.Загружает клиентский код по запросу в последней версии (0.9.x) метеор?

Я попытался использовать плагин IRLibloader для загрузки файлов JS, поместив их в общую папку. Итак, есть способ настроить Meteor таким образом, чтобы он загружал только тот код, который требуется, а затем, при необходимости, загружать код для других модулей? Если это невозможно, то можете ли вы, пожалуйста, направить меня на другие хорошие практики, используя Метеор.

Заранее спасибо.

ответ

2

Это возможно. Полное решение - пакет anti:modules. Сначала добавьте его в приложение:

meteor add anti:modules 

Затем создайте /layers папку внутри проекта и разместить дополнительные файлы в подпапку:

/ 
    layers 
    fancyModule 
     someFile.module.js 
     anotherFile.module.js 
     ... 

Затем в коде создать глобальный модуль:

theApp = Module('$global').as('myApp'); 

и загрузить его при необходимости:

theApp.require('fancyModule', function() { 
    console.log('fancyModule code loaded'); 
}); 
+0

Спасибо. Это потрясающий пакет. Похоже, вы один из участников этого. Есть ли какая-либо цель в вашей дорожной карте для поддержки файлов css? – Kishor

+0

Можно ли определить шаблоны в файлах '* .module.html'? Я определил шаблон в моем примере example.module.html. В 'Router.map', я использую метод WaitOn для загрузки модуля примера при навигации по маршруту«/example ». Но я получаю это «Не удалось найти шаблон с именем« пример ». Пожалуйста помоги. – Kishor