以下代码来自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/