2016-04-06 6 views
4

У меня есть проект JavaScript, который включает как интерфейсные, так и бэкэнд-коды (NodeJS). Это моя производственная структура папок:Добавление файла конфигурации в мой проект JavaScript

/prod 
    /server 
     sourceCode1.js 
     sourceCode2.js 
     ... 
     sourceCodeN.js 
     index.js 
    /client 
     bundle.js 
    ReadMe.md 
    license.txt 

Когда пользователь ударил /server/index.js, я призываю express.static(__dirname + '/../client') обслуживать файлы пользователя в /client расслоение плотной папки. У меня есть файлы frontend js под папкой /client изначально, но они уменьшены и объединены в один bundle.js, когда они перемещены в prod, как вы можете видеть выше. Я хочу добавить один файл конфигурации в формате JSON, который содержит конфигурацию как для моего бэкэнд, так и для внешнего кода. Но я не уверен, где и как его разместить. Я думаю, что независимо от того, где я его разместил, мой код в /server/index.js может получить к нему доступ без проблем. Но для /client/bundle.js доступ к конфигурационному файлу потребует другого запроса на сервер, который кажется мне плохой дизайн ...

Может ли кто-нибудь предложить способ, который лучше решает проблему?

P.S.

Я использую gulp для Минимизировать и объединить мой FRONTEND файлы в расслоение плотной bundle.js, я могу поместить конфигурационный файл в папке /client и использовать gulp связать его вместе с другими JS-файлов, а также. Но это означает, что каждый раз, когда я меняю конфигурационный файл, мне нужно снова gulp, что не имеет никакого смысла.

PPS. Я согласен, что целлюлоза будет отлично работать для меня. Еще одна причина, по которой я не хочу использовать пульпу для связывания конфигурационного файла, заключается в том, что это проект с открытым исходным кодом, я надеюсь, что когда кто-то еще его использует, и он хочет только изменить один крошечный параметр в файле конфигурации, т придется пройти через gulp шаг ..

ответ

2

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

Я думаю, делает понимать. Other people do too.

Если вы беспокоитесь о скорости, я рекомендую иметь две глоток задачи: Dev и Build.

  • Dev должен следить источник для изменения и обновить конфигурацию.
  • должен делать медленные вещи, такие как комплектация и минимизация как обновить конфигурацию.
+0

Правильно, я согласен, что «пульпа» будет работать отлично для меня. Еще одна причина, по которой я не хотел использовать 'pulp' для связывания конфигурационного файла, заключается в том, что это проект с открытым исходным кодом, я надеюсь, что когда кто-то его использует, и он хочет изменить параметр в файле конфигурации, он не делает «нужно пройти процесс« глоток »... – Arch1tect

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