【发布时间】:2018-08-23 18:40:05
【问题描述】:
在我的 Mac 上,我可以像这样创建一个简单的“Hello World”Node/Express 应用程序:
const express = require('express')
const app = express()
app.get('/', function(req, res){
res.send('Yo')
})
app.listen(3000, () =>
console.log('Listening on port 3000...')
)
效果很好。但是当我在我的网络主机 (DreamHost) 上安装我的 Node 应用程序时,我确保我使用的是相同版本的 Node 和 NPM,然后我执行npm install 然后重新启动服务器。
乘客抱怨语法:
/home/labrumco/progressbox.net/app.js:9
app.listen(3000, () =>
^
SyntaxError: Unexpected token )
为什么它会拒绝这种语法?我的猜测是某种语法依赖,但我对 Node 太陌生,不知道其中的区别。 :)
如果我把它改成这样,它就可以工作:
app.listen(3000, function() {
console.log('Listening on port 3000...')
})
function(){ 代替 () => 起作用
为什么会这样?
--- 更新---
这是我的package.json 文件:
{
"name": "...",
"version": "1.0.0",
"description": "...",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Clifton Labrum",
"license": "ISC",
"dependencies": {
"express": "^4.16.3",
"node-fetch": "^2.2.0",
"nodemon": "^1.18.3",
"request": "^2.88.0"
},
"repository": {
"type": "git",
"url": "..."
}
}
【问题讨论】:
-
你的
node -v是什么? -
请发布您的 package.json
-
我的节点版本是
10.9.0 -
确保你的主机的node版本至少为8
-
package.json 在我的问题上方发布。谢谢!
标签: node.js express passenger dreamhost