javascript - node.js引用错误: server is not defined

标签 javascript node.js

以下代码来自server.js,它导致我的服务器崩溃并出现错误:

ReferenceError:服务器未在对象处定义。 (C:\xampp\htdocs\api\src\server.js:17:18) 在 Module._compile (module.js:571:32) 在 Object.Module._extensions..js (module.js:580:10) )在Module.load(module.js:488:32)在tryModuleLoad(module.js:447:12)在Function.Module._load(module.js:439:3)在Module.runMain(module.js:605) :10) 在运行时 (bootstrap_node.js:418:7) 在启动时 (bootstrap_node.js:139:9) 在 bootstrap_node.js:533:3

var express = require('express');
var body_parser = require('body-parser');
var app = express()

// Port config
var port = 3000;

app.use(body_parser.json());

// Use prefix of api
app.use('/api', require('../routes/api.js')(express));

app.listen(port, function(){
  console.log('Server Active on', port);
});

module.exports = server;

Mocha 测试 (__app.js)

var request = require('supertest');

describe('API', function() {

var server;

beforeEach(function () {
  server = require('../src/server.js');
});

afterEach(function () {
  server.close();
});

it('/ should return specified object.', function (done) {
  request(server)
    .get('/api/')
    .set('Accept', 'application/json')
    .expect('Content-Type', /json/)
    .expect(200, {"hello": "world"}, done);
});

it('/status should return specified healthy:true', function (done) {
  request(server)
    .get('/api/status')
    .set('Accept', 'application/json')
    .expect('Content-Type', /json/)
    .expect(200, {"healthy": true}, done);
});

it('/user/id should return user object with id.', function (done) {
  var fakeUserID = 374;
  request(server)
    .get('/api/user/347' + fakeUserID)
    .set('Accept', 'application/json')
    .expect('Content-Type', /json/)
    .expect(200, {user: {id: fakeUserID}}, done);
  });
});

我是否缺少包裹?我正在观看具有相同代码的视频,它不会使服务器崩溃。

最佳答案

您想要导出应用。不存在名为 server 的变量

module.exports = app;

然后,您可以使用 require 在项目中的其他位置导入 app

关于javascript - node.js引用错误: server is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42014137/

相关文章:

javascript - 防止 Promise 解析/拒绝回调中的重复工作

javascript - 跳出嵌套循环 : return or label/break?

node.js - WebStorm 找不到 Node 解释器

javascript - 可以用浮点格式表示日期时间吗?

node.js - 新 elasticsearch 2.1.1 版本中的 mapper_parsing_exception

javascript - 将canvas js命令转换为紧凑结构

javascript - Paper.js : why does tool. onMouseDown 不触发?

javascript - If, else if 语句不起作用(仅显示 if)

javascript - 如何在 Node/Javascript 中丢弃数字的小数部分

node.js - Angular NG 构建-EMFILE : too many open files