Я использую некоторые функции ES6 в приложении Node.JS, например ключевое слово let
. Сервер отлично работает на моей локальной машине. После развертывания код на удаленной машине (которые могут быть доступны в Интернете) я обнаружил некоторые странное поведение: Если я запустить сервер, получив доступ к удаленной оболочки, а затем выполнить глотка, он работает безотказно:ES6 с Node.JS и SSH
local> ssh [email protected]
remote> gulp
Однако, если я ярлык, добавив команду SSH, Node.js вдруг жалуется на особенности ES6:
local> ssh [email protected] 'gulp'
...
[10:39:54] [nodemon] 1.8.1
[10:39:54] [nodemon] to restart at any time, enter `rs`
[10:39:54] [nodemon] watching: *.*
[10:39:54] [nodemon] starting `node bin/www`
/home/user/server/routes/searchItem.js:62
let myItem = items.filter(item =>
[10:39:54] [nodemon] app crashed - waiting for file changes before starting...
^^^
SyntaxError: Unexpected strict mode reserved word
Почему это происходит?
Можете ли вы запустить узел 'ssh [email protected] '-v'', чтобы проверить, какую версию узла он пытается использовать? – nils
Вы сравнили результаты запуска следующих с помощью ssh и входа в систему: 'node --version',' echo $ NODE_PATH', 'which gulp',' echo $ PATH' и т. Д. ... –