快速服务器控制台.log问题:类型 'string' 上不存在'address'



我创建了一个server.js代码,但后来出现了一个问题:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json())

const db = require('./app/config/db.config.js');

// force: true will drop the table if it already exists
db.sequelize.sync({force: true}).then(() => {
console.log('Drop and Resync with { force: true }');
});

require('./app/route/data.route.js')(app);

// Create a Server
var server = app.listen(8081, function () {

var host = server.address().address
var port = server.address().port

console.log("App listening at http://%s:%s", host, port)
})

问题1:

类型"string | AddressInfo"上不存在属性"address">
类型"string"上不存在属性"address"。

问题2:

类型"string | AddressInfo"上不存在属性"port">
类型"string"上不存在属性"port"。ts(2339(

尝试以下方法

这将打印App listening at http://:::8081

如果省略主机名,则当IPv6可用时,服务器将接受任何IPv6地址(::(上的连接,否则,将接受任何IPv4地址(0.0.0.0(上的联系

var server = app.listen(8081, function () {
var host = server.address().address;
var port = server.address().port;
console.log('running at http://' + host + ':' + port)
});

我认为你应该试试这个

var port = config.PORT || 8081; // set your port
var server = app.listen(port, () => {
console.log('Magic happens on port ' + port); 
});

你可以像这个一样在db.config.js中指定主机

var config = {
development: {
HOST: process.env.DB_DEV_HOST || "127.0.0.1",
USER: process.env.DB_DEV_USER,
PASSWORD: process.env.DB_DEV_PASSWORD,
DB: process.env.DB_DEV_NAME,
DIALECT: process.env.DB_DEV_DIALECT || "postgres"
},
production: {
HOST: process.env.DB_HOST || "127.0.0.1",
USER: process.env.DB_USER,
PASSWORD: process.env.DB_PASSWORD,
DB: process.env.DB_NAME,
DIALECT: process.env.DB_DIALECT || "postgres"
},
test: {
HOST: process.env.DB_TEST_HOST || "127.0.0.1",
USER: process.env.DB_TEST_USER,
PASSWORD: process.env.DB_TEST_PASSWORD,
DB: process.env.DB_TEST_NAME,
DIALECT: process.env.DB_TEST_DIALECT || "postgres"
}
};
module.exports = config;

相关内容

最新更新