我试图通过nodejs和mySql数据库启动localhost服务器。 我收到的错误是:
SyntaxError: Unexpected token ILLEGAL at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:413:25) at Object.Module._extensions..js (module.js:452:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at /Users/Liran/Desktop/nodejs/server.js:34:13 at Array.forEach (native) at Object. (/Users/Liran/Desktop/nodejs/server.js:32:7)
此错误是由运行以下javascript代码引起的:
var express = require('express');
var app = express();
var mysql = require('mysql')
var fs = require('fs'),
path = require('path');
var ipaddress = '127.0.0.1';
var port = 8080;
// ----------- MySQL Connection ------
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '1',
});
connection.connect();
// --------- Set upload directory -------
app.configure(function(){
app.use(express.methodOverride());
app.use(express.bodyParser({ keepExtensions: true, uploadDir: '../public/images/' }));
});
app.fs = fs;
// ------------ ROUTES ---------------
var RouteDir = 'routes',
files = fs.readdirSync(RouteDir);
files.forEach(function (file) {
var filePath = path.resolve('./', RouteDir, file),
route = require(filePath);
route.init(app, connection);
});
// ----------- Run Server ----------------
app.listen(port, ipaddress, function()
{
console.log('%s: Node server started on %s:%d ...',
Date(Date.now() ), ipaddress, port);
});`enter code here`
基本上我所做的就是设置服务器ip&端口并将其连接到mysql数据库..请告诉我我做错了什么,为什么会出现错误?如果有任何代码更改,我应该通过nodejs和mysql制作一个好的localhost服务器请告诉我:) 提前谢谢!
答案 0 :(得分:2)
require()
回调中files.forEach()
中的一个文件存在非法令牌。您可能希望在require()
之前插入调试语句,以便确定哪个文件存在问题。从那里,您可以使用像jshint
这样的linter来查找该文件中非法令牌的确切位置。
答案 1 :(得分:0)
在您的代码中
// ----------- MySQL Connection ------
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '1',
});
connection.connect();
密码旁边有一个额外的昏迷。
这是我看到的唯一实际错误