当前位置: 首页 > 知识库问答 >
问题:

node.js referenceError:未定义服务器

卜季萌
2023-03-14
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;
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);
  });
});

共有1个答案

宋鸿
2023-03-14

您希望导出应用程序。不存在名为server的变量

module.exports=app;

然后,可以使用require应用程序导入项目的其他位置

 类似资料:
  • 注:内容翻译自官网文档 Language Guide (proto3) 中的 Defining Services 一节 如果想在RPC (Remote Procedure Call) 系统中使用消息类型, 可以在.proto文件中定义RPC服务接口, 然后protocol buffer编译器会生成所选语言的服务接口代码和桩(stubs). 因此, 例如, 如果想定义一个RPC服务,带一个方法处理S

  • 我有一个非常简单的nodejs服务器,但由于某种原因,使用“cors”包似乎无法识别请求的来源。 下面是我的nodejs服务器配置: 这是我的服务器启动文件: 我在本地主机上运行这个服务器,但是cors回调中的原点总是“未定义”。例如,当我在浏览器上打开http://localhost:5000或进行curl调用时。 如何使用cors使其不阻塞本地主机上的请求?

  • 问题内容: 我是一个有角的新手,正在构建一个应用程序,让我感到困惑的是,有几种方法定义了服务,我从此链接中了解了更多:如何定义服务, 然后似乎没有太大的区别定义服务的方式。 但我只是注意到我认为是不同的一个不同之处: 看到我从这里得到的这项服务http://jsfiddle.net/2by3X/5/ 如果我使用如下所示的“工厂”定义此服务,则一个功能不能调用该服务的其他功能。 我将在浏览器控制台中

  • 我遵循angular的官方指南,成功安装了初始服务人员。接下来,我想尝试一下更新行为,得到了一个 无法读取未定义的属性id 其中as id指ngsw-worker.js方法中的client.id 我做的步骤是 注册SW,离线并重新加载(工作),关闭标签,但保持窗口打开 app.cmp.html更新代码 重建项目(ng build--prod) 打开新的Tab和应用程序(可以观察SW更新) 重新加载

  • 问题内容: 注意:根据 ECMAScript5.1,第15.1.1.3节,window.undefined是只读的。 现代浏览器正确地实现了这一点。 例如:Safari 5.1,Firefox 7,Chrome 20等。 Undefined仍可在以下位置更改:Chrome 14,… 原来,问题的原因是 如果“对象”中没有属性“ x”,则返回false。 我通过在两个Facebook函数中用规则相等

  • 本文向大家介绍Android 定义服务流程,包括了Android 定义服务流程的使用技巧和注意事项,需要的朋友参考一下 示例 该android:process字段定义了要在其中运行服务的进程的名称。通常,应用程序的所有组件都在为该应用程序创建的默认进程中运行。但是,组件可以使用其自己的进程属性覆盖默认值,从而使您可以将应用程序分布在多个进程中。 如果分配给该属性的名称以冒号(':')开头,则该服务