2016-05-10 4 views
1

Я создаю инструмент командной строки, используя node/javascript, и хочу сделать его доступным как модуль npm. Для этого инструмента требуется пакетный скрипт оболочки/windows, но как установить разные сценарии для разных платформ? В package.json у меня естьКак установить разные файлы для разных платформ

"bin" : { 
    "lookup-bat" : "./bin/lookup.bat", 
    "lookup-sh" : "./bin/lookup.sh" 
} 

, но я хотел бы иметь одно и то же имя команды, независимо от платформы. Это возможно?

ответ

0

Обычно вы не об этом думаете.

Обычно ./bin/lookup является js-файлом, начинающимся с соответствующего shebang #!/usr/bin/env node.

NPM делает все остальное.

Если поведение программы должно быть разным для ОС во время выполнения, вы должны реализовать в своей программе своего рода if(process.platform.match(/win/)).

+0

Дело в том, что сценарий узла не зависит от платформы, но сценарий оболочки. Результат сценария узла используется сценарием оболочки. – claesv

+0

'но скрипт-оболочка' uh? почему бы и нет? Независимо от того, что делает этот скрипт, я считаю, что вы должны сделать это с помощью этого кросс-платформенного инструмента: NodeJS –

+0

сценарий-оболочка делает «cd », а cd не может выполняться внутри скрипта узла, поскольку он работает в подселле , – claesv

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