2016-11-22 38 views
-6

每次我嘗試啓動我的服務器時,它給了我很長的錯誤:節點服務器將無法啓動,給人意外的標記

SyntaxError: Unexpected token = 
    at exports.runInThisContext (vm.js:53:16) 
    at Module._compile (module.js:373:25) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Module.require (module.js:353:17) 
    at require (internal/module.js:12:17) 
    at Object.<anonymous> (/home/ubuntu/workspace/isal/routes/index.js:5:15) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 

與語法錯誤的文件是這樣的index.js文件時,它聲稱,有一個解析錯誤,帶有最後一行的意外標記,但在意外標記之後沒有任何內容,並且我沒有真正看到模塊導出的問題。

var express = require('express'); 
var router = express.Router(); 
var imgur = require('../services/imgur'); 

router.get('/', function(req, res) { 
    res.send('Hello'); 
}); 

router.get('/latest', function(req, res) { 

}); 

router.get('/search/:q', function(req, res) { 
    imgur.getImage(req.params.q, req.query.offset).then(ans => { 
     res.json(ans); 
}); 

module.exports = router; 
+3

看看'/ home/ubuntu/workspace/isal/routes/index.js'。你有一個語法錯誤。我們不能在沒有在第5行看到該文件的情況下修復它。('5:15'告訴你文件中的行和列要查看) –

+1

對不起,我已經從文件中添加了內容。 – J64

+0

您在最後一次'router.get'調用中缺少'});'。 (一旦你看到這個評論,我建議你只是刪除這個問題。) –

回答

1

你沒有正確關閉您的最後一個函數調用:

var express = require('express'); 
var router = express.Router(); 
var imgur = require('../services/imgur'); 

router.get('/', function(req, res) { 
    res.send('Hello'); 
}); 

router.get('/latest', function(req, res) { 

}); 

router.get('/search/:q', function(req, res) { 
    imgur.getImage(req.params.q, req.query.offset).then(ans => { 
     res.json(ans); 
    }); <---------------- Missing 
}); 

module.exports = router; 

當你得到這樣一個語法錯誤,這基本上意味着從發生錯誤的地方開始,並在你的文件原路返回,直到你會發現語法錯誤。總會有是語法錯誤,如果出現語法錯誤。您應該使用一種工具來編寫語法高亮代碼,併爲您節省一些問題,如IDE。

+0

儘管這並未解決整個服務器問題。它確實解決了導致它的其中一個問題,並幫助我找到了完整的解決方案。所以這個工作。 – J64