意外的标记 。 运行server.js时

我正在用MEAN堆栈编写一个Web应用程序,并且正在testing以查看我的nodejs服务器是否正在工作。 这是我的server.js:

// server.js 'use strict'; // modules ================================================= const path = require('path'); const express = require('express'); const app = express(); const bodyParser = require('body-parser'); const methodOverride = require('method-override'); // configuration =========================================== // config files const db = require('./config/db'); // set our port var port = process.env.PORT || 8080; // connect to mongoDB // (uncomment after entering in credentials in config file) // mongoose.connect(db.url); // get all data/stuff of the body (POST) parameters // parse application/json app.use(bodyParser.json()); // parse application/vnd.api+json as json app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: true })); // override with the X-HTTP-Method-Override header in the request simulate DELETE/PUT app.use(methodOverride('X-HTTP-Method-Override')); // set the static files location /public/img will be /img for users app.use(express.static(__dirname + '/public')); // routes ================================================== require('./app/routes')(app); // configure our routes // start app =============================================== // startup our app at http://localhost:8080 app.listen(port); // shoutout to the user console.log('App running on port ' + port); // expose app exports = module.exports = app; 

我现在有它redirect到我的index.html文件的所有路线来testing,以确保我的意见工作。 这是我的routes.js:

  // models/routes.js // grab the user model var User = require('./models/user.js'); module.exports = { // TODO: Add all routes needed by application // frontend routes ========================================================= // route to handle all angular requests app.get('*', function(req, res) { res.sendfile('./public/index.html'); // load our public/index.html file }); }; 

但是,当我尝试运行node server.js ,它给了我这个错误:

  /home/hess/Projects/FitTrak/app/routes.js app.get('*', function(req, res) { ^ SyntaxError: Unexpected token . 

有谁知道是什么原因造成的? 我检查了所有我的括号和括号全部closures并正确书写。

正如Jose Hermosilla Rodrigo在他的评论中所说,你声明的是对象字面module.exports错误。 它应该看起来像这样:

 module.exports = function(app) { app.get('*', function(req, res) { res.sendfile('./public/index.html'); // load our public/index.html file }); }; 

只是尝试这个代码…

// models / routes.js

 var express=require('express'); var app=express(); // TODO: Add all routes needed by application // frontend routes ========================================================= // route to handle all angular requests app.get('*', function(req, res) { res.sendfile('./public/index.html'); }); module.exports = route; 

server.js

 'use strict'; const path = require('path'); const express = require('express'); const app = express(); const bodyParser = require('body-parser'); var route=require('./models/route.js'); const methodOverride = require('method-override'); // configuration =========================================== // config files const db = require('./config/db'); // set our port var port = process.env.PORT || 8080; // connect to mongoDB // (uncomment after entering in credentials in config file) // mongoose.connect(db.url); // get all data/stuff of the body (POST) parameters // parse application/json app.use(bodyParser.json()); // parse application/vnd.api+json as json app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: true })); // override with the X-HTTP-Method-Override header in the request simulate DELETE/PUT app.use(methodOverride('X-HTTP-Method-Override')); // set the static files location /public/img will be /img for users app.use(express.static(__dirname + '/public')); // routes ================================================== require('./app/routes')(app); // configure our routes // start app =============================================== // startup our app at http://localhost:8080 app.listen(port); // shoutout to the user console.log('App running on port ' + port); app.use('/',route); 

如果您使用MEAN堆栈,我build议您使用express自己的路由器中间件来处理所有的路由。 只包括。

 var router = express.Router(); //use router to handle all your request router.get(/xxx,function(req, res){ res.send(/xxxx); }) // You may have n number of router for all your request //And at last all you have to do is export router module.exports = router;