簡體   English   中英

因為TypeError而無法啟動我的服務器

[英]Can't start my Server because TypeError

我試圖啟動我的服務器,但它不起作用,因為發生了TypeError,你可以在下面看到:

    TypeError: Status.methods is not a function
at Object.<anonymous> (/Users/elmo/Documents/AndroidApp-Projekte/AbHofAPI/routes/api.js:9:8)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/elmo/Documents/AndroidApp-Projekte/AbHofAPI/server.js:15:17)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:389:7)
    [nodemon] app crashed - waiting for file changes before starting...

我的代碼如下:

server.js

//dependencies:
var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');

//connect to mongoDB
mongoose.connect('mongodb://mydbuser:mysecretpw@ds125914.mlab.com:25914/abhofdata');

//express:
var app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());

//routes:
app.use('/api', require('./routes/api'));

//start server:
app.listen(1000);
console.log('Server is running on port 1000');

api.js

//dependencies:
var express = require('express');
var router = express.Router();

//get models: 
var Status = require('../models/status');

//routes:
Status.methods(['get', 'post', 'put', 'delete']);
Status.register(router, '/status');

//return router:
module.exports = router;

status.js

該類包含Schema,它概述了數據在mongoDB中的存儲方式。

//dependencies:
var restful = require('node-restful');
var mongoose = restful.mongoose;

//Schema:
var statusSchema = new mongoose.Schema({
name: String,
strasse: String,
ort: String,
lat: String,
lng: String,
info: String
});

//return models:
module.export = restful.model('tblstatus', statusSchema);

文件夾結構

也許文件夾結構對於解決方案很重要。 這里是:

AbHofAPI
│   package.json
│   server.js    
│
└───node_modules
│
└───models
│   │   status.js
│   
└───routes
    │   api.js

你做了module.export = ..

你需要module.exports = ..

您正在使用貓鼬模型對象

Status.methods(['get', 'post', 'put', 'delete']);

Status.register(router, '/status');

也許你的意思是:

express.methods(['get', 'post', 'put', 'delete']);

express.register(router, '/status');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM