2013-07-28 6 views
1

Так что сейчас я свой проект структурирован так, что мой код на стороне сервера живет в папке сервера.Как структурировать большое приложение meteor.js?

Я разбил свой javascript на несколько файлов и ранее использовал require.js. Прямо сейчас, я попытался с помощью

Npm.require 

и

__meteor_bootstrap__.require 

, чтобы получить «exports'object различных файлов, но это не работает.

Другими словами, как правильно использовать require.js с Meteor? Или есть лучший способ разбить большие файлы javascript в Meteor?

ответ

1

Я думаю, вы пытаетесь сделать пакет. Here - пример использования Npm.require() в пакете.

Также пакеты уже существуют для многих распространенных js-библиотек, поэтому проверьте atmosphere и, возможно, вам не нужно будет писать свой собственный пакет.

Вы также можете просто разместить файлы .js в структуре каталогов, например this, без необходимости использовать Npm.require и пакеты, которые могут быть проще всего, если у вас уже есть код, работающий в одном файле .js на сервере.

2

Если ваша цель - разорвать часть вашего проекта на модули, которые могут быть выпущены в отдельных циклах выпуска и, возможно, совместно с другими проектами, то вы на правильном пути, превратив их в модули стиля require.js (если вы просто хотите разбить один большой .js на несколько, а затем делать то, что предлагает user728291).

Если вы создаете несколько модулей стиля require.js, вы должны полностью разбить эти модули из своего проекта Meteor и поместить их в отдельные каталоги, например.

рабочее пространство/ /мой метеоры-проект/ ... содержание проекта ... /многоразовый-модуль-1/ package.json многоразовый-модуль-1.js /многоразовый-модуль-2 package.json многоразовый-модуль-2.js

Затем установите эти НПМ модули локально с помощью npm link, или делиться ими с миром с помощью npm publish. Затем обсудим лучшие практики для including Npm modules in Meteor applications

+0

Для метеора, вы не должны разговляйся модули в модули в стиле нпм, но вместо этого в интеллектуальные пакеты метеоритов. –

+0

Вправо - если ваши модули не являются общими модулями, которые вы хотите использовать вне метеор. –

4

Я предлагаю вам полностью изучить ваше приложение из интеллектуальных пакетов. Так как 0.6.0, вы можете иметь локальные пакеты под пакетами/

Как передовой практика, любые приложения конкретных папок пакетов будут пространством имен с префиксом (например: MyApp-биллинг)

Смежные вопросы