2016-01-11 2 views
-1

Я очень новичок в программировании и Node.js, но у меня есть вопрос относительно запуска приложений node.js в разных операционных системах. Я предполагаю, что может случиться, что существуют определенные модули узлов, которые работают только в конкретной операционной системе. Если я хочу запускать свое приложение, например, на сервере linux, но я занимаюсь разработкой на Mac, а на сервере linux нет доступа к интернету, как я могу быть уверенным, что все модули узлов будут работать на моем целевом ОС? В результате я ищу возможность установить узловые модули в зависимости от ключа ОС. Например, что-то вроде:Запуск Node.js в зависимости от операционной системы

npm install module-name target-OS 

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

{ 
    "name": "some-app", 
    "version": "0.0.1", 
    "authors": [ 
    "author <[email protected]>", 
    ], 
    "scripts": { 
    "dealwithos": "node bin/dealwithos.js" 
    } 
} 

Но до сих пор я не смог найти хороший код, который бы справился с этой проблемой.

Я надеюсь, что кто-то сможет предоставить какой-то код или другое возможное решение!

С уважением

+0

Есть ли у вас какие-либо причины полагать, что все модули не будут работать со всеми ОС? Это проблема (если это вообще проблема), это лучше всего решать в каждом конкретном случае. Размышление об общем решении заранее не очень полезно. – JJJ

+0

Спасибо за ваш ответ. Я не верю, что эта проблема будет происходить часто, но мне любопытно, как я ее исправит, если это произойдет, и я уверен, что есть некоторые модули, которые будут иметь эту проблему. – JonnyMcMuff

ответ

0

Ваш пример не является конкретным. Из-за этого нет реального правильного ответа. Но я думаю, что я не могу понять, что вы хотите знать.

Основная идея, что node.js заключается в том, что она работает во всех операционных системах. Зачем? Потому что вы развиваетесь в JavaScript, который работает везде. Также большинство модулей написаны в JS. Поэтому, если вы программируете среду linux в своей системе Windows, вы должны убедиться, что модели, которые вы используете, просто написаны в JS. При этом это нормальный модуль узла.

Есть ли другие модули?

Да. Возможно создание модулей с помощью C++. Но их не так много. Если вы хотите использовать один из них, вы должны прочитать об установке внутри документов модуля. В общем, вы должны также подумать об альтернативах в JS. Но на этот вопрос вообще невозможно ответить.

Существует также другой способ приложений node.js. Например, electron позволяет писать приложения в JavaScript. В этом случае вы должны прочитать documentation about desktop integration. Но у приложений также есть gui. Если вы разрабатываете только для node.js, у вас не будет части gui.

Итак, просто чтобы ответить на ваши предложения о специфических командах npm os: Нет смысла устанавливать модуль только для одной операционной системы, потому что идея node.js должна быть независимой от os.

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