2014-09-08 3 views
1

Приложение моего node.js должно хранить большое количество двоичных данных. Использование локальной файловой системы представляется подходящим решением, но каталоги данных приложений размещаются в разных местах в зависимости от хост-системы.Восстановить каталог данных приложения в node.js

Что такое системно-независимый способ получения каталога данных приложения (например,% appdata% \ appname или ~/.appname)?

ответ

-1

получения текущего direcory: __dirname

, если вы хотите, чтобы получить другую глобальную переменную, например каталога приложений, то:

process.env.ENV_VARIABLE 

Где ENV_VARIABLE это имя переменной, которую вы хотите получить доступ к

Вы также можете проверить nconf, это «Иерархическая конфигурация node.js с файлами, переменными среды, аргументами командной строки и слиянием атомных объектов»

+0

__dirname обычно не является желаемым местом для хранения данных приложения. Вне разработки это скорее всего будет что-то вроде Program Files \ appname или/usr/bin/appname. В большинстве производственных систем этот каталог будет защищен от записи или потребует повышенных привилегий. – Koder

+0

О, я вижу, я обновил свой ответ, если это помогает – AhmadAssaf

+0

Да, мой отказ - использовать обнаружение платформы (через os.platform() или обнаружение функции), читать правильные переменные среды и выполнять обоснованные предположения. ** Это имеет недостаток ** необходимости активно поддерживать этот кусок кода, специфичного для платформы. Я надеялся найти что-то в строке os.tmpdir() – Koder