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

时间:2016-06-03 01:06:05

标签: javascript node.js express mean-stack

我目前正在使用MEAN堆栈编写Web应用程序,并正在测试我的nodejs服务器是否正常工作。这是我的server.js:

<int-ftp:request-handler-advice-chain>

我目前正在将所有路由重定向到我的index.html文件以进行测试以确保我的视图正常工作。这是我的routes.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;

但是,当我尝试运行 // 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

有没有人知道造成这种情况的原因是什么?我检查了所有的括号和括号都是关闭并正确写入的。

3 个答案:

答案 0 :(得分:1)

正如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
    });
};

答案 1 :(得分:1)

试试这段代码......

// 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);

答案 2 :(得分:0)

如果您使用的是MEAN堆栈,我建议您使用快速自带的路由器中间件来处理所有路由。请加入。

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;