Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 倾听不是一种功能_Javascript_Node.js - Fatal编程技术网

Javascript 倾听不是一种功能

Javascript 倾听不是一种功能,javascript,node.js,Javascript,Node.js,我有这个代码,它说这个错误 TypeError:app.listen不是函数 at mongoose.connect (C:\wamp\www\curso-mean2\index.js:14:7) at C:\wamp\www\curso-mean2\node_modules\mongoose\lib\connection.js:292:19 at open (C:\wamp\www\curso-mean2\node_modules\mongoose\lib\connection.js:5

我有这个代码,它说这个错误

TypeError:app.listen不是函数

 at mongoose.connect (C:\wamp\www\curso-mean2\index.js:14:7)
 at C:\wamp\www\curso-mean2\node_modules\mongoose\lib\connection.js:292:19
 at open (C:\wamp\www\curso-mean2\node_modules\mongoose\lib\connection.js:576:17)
[nodemon]应用程序崩溃-正在等待文件更改,然后再启动

app.js的内容

'use strict'

var express = require('express'); // objeto express dentro de variable app
var bodyParser = require('body-parser');

var app = express();

// cargar rutas
//configurar body parser
//es necesario para body parse y convierte a objetos Json los datos que llegan por http:
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

//configurar cabeceras http

//rutas base

//exportamos el modulo , podemos utilizar express dentro de ficheros que incluyan app
module.exports = app;
'use strict'

var mongoose = require('mongoose');
var app = require('./app');
//configurar puerto por defecto
var port = process.env.PORT || 3977;

mongoose.connect('mongodb://localhost:27017/curso_mean2', (err,res) => {
    if (err){
        throw err;
    }else{
        console.log("La base de datos esta funcionando muy bien...");
        //a escuchar
        app.listen(port, function () {
            console.log("Servidor del api rest de musica escuchando en http://localhost");
        });
    } //else
});
index.js的内容

'use strict'

var express = require('express'); // objeto express dentro de variable app
var bodyParser = require('body-parser');

var app = express();

// cargar rutas
//configurar body parser
//es necesario para body parse y convierte a objetos Json los datos que llegan por http:
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

//configurar cabeceras http

//rutas base

//exportamos el modulo , podemos utilizar express dentro de ficheros que incluyan app
module.exports = app;
'use strict'

var mongoose = require('mongoose');
var app = require('./app');
//configurar puerto por defecto
var port = process.env.PORT || 3977;

mongoose.connect('mongodb://localhost:27017/curso_mean2', (err,res) => {
    if (err){
        throw err;
    }else{
        console.log("La base de datos esta funcionando muy bien...");
        //a escuchar
        app.listen(port, function () {
            console.log("Servidor del api rest de musica escuchando en http://localhost");
        });
    } //else
});

你能帮帮我吗?我是一名初学者,不知道发生了什么事

底层MongoDB驱动程序已经弃用了当前的连接字符串解析器。因为这是一个重大更改,他们添加了useNewUrlParser标志,以允许用户返回到旧的解析器,因此您应该使用类似的内容:

mongoose.connect('mongodb://localhost:27017/curso_mean2', { useNewUrlParser: true, useUnifiedTopology: true })
如果你想抓住错误,我建议你使用承诺和抓住方法:

mongoose.connect('mongodb://localhost:27017/curso_mean2', { useNewUrlParser: true, useUnifiedTopology: true })
 .then(()=>{
       console.log("La base de datos esta funcionando muy bien...");

       app.listen(port,function () {
           console.log("Servidor del api rest de musica escuchando en http://localhost");
       });

 })
 .catch( err => console.log(err) );

底层MongoDB驱动程序已弃用其当前的连接字符串解析器。因为这是一个重大更改,他们添加了useNewUrlParser标志,以允许用户返回到旧的解析器,因此您应该使用类似的内容:

mongoose.connect('mongodb://localhost:27017/curso_mean2', { useNewUrlParser: true, useUnifiedTopology: true })
如果你想抓住错误,我建议你使用承诺和抓住方法:

mongoose.connect('mongodb://localhost:27017/curso_mean2', { useNewUrlParser: true, useUnifiedTopology: true })
 .then(()=>{
       console.log("La base de datos esta funcionando muy bien...");

       app.listen(port,function () {
           console.log("Servidor del api rest de musica escuchando en http://localhost");
       });

 })
 .catch( err => console.log(err) );

请看这里:如果您
console.log(app)
@Paolo这并不能解释为什么他的app.listen不能工作。当我执行这段代码时,一切对我来说都很好。你把你所有的密码都贴出来了吗?您是否安装了所有npm模块?请尝试添加
js
扩展<代码>var-app=require('./app.js')我把所有的代码都放在这个问题上。因为这很奇怪。我已经试过把app.js放进去了,没有任何变化。请看这里:如果你
console.log(app)
@Paolo这并不能解释为什么他的app.listen不能工作。当我执行这段代码时,一切对我来说都很好。你把你所有的密码都贴出来了吗?您是否安装了所有npm模块?请尝试添加
js
扩展<代码>var-app=require('./app.js')我把所有的代码都放在这个问题上。因为这很奇怪。我已经试过把app.js放进去,但没有任何变化。