“端口4200已被使用,使用'--port'指定不同的端口。”
嘿,我运行一个angular2应用程序与快递作为后端。获得了以下问题:“端口4200已被使用,使用'--port'指定不同的端口。”
[3] Port 4200 is already in use. Use '--port' to specify a different port.
[3] [nodemon] app crashed - waiting for file changes before starting...
[1] [HPM] Error occurred while trying to proxy request /api/jobs from localhost:4200 to http://localhost:3000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
server.js:
import * as bodyParser from 'body-parser';
import * as dotenv from 'dotenv';
import * as express from 'express';
import * as morgan from 'morgan';
import * as mongoose from 'mongoose';
import * as path from 'path';
import setRoutes from './routes';
const app = express();
dotenv.load({path: '.env'});
app.set('port', (process.env.PORT || 3000));
app.use('/', express.static(path.join(__dirname, '../')));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(morgan('dev'));
mongoose.connect(process.env.MONGODB_URI);
const db = mongoose.connection;
(<any>mongoose).Promise = global.Promise;
db.on('error', console.error.bind(console, 'connection error:'));
db.on('open',() => {
console.log('Connected to MongoDB');
setRoutes(app);
app.get('/*', function (req, res) {
res.sendFile(path.join(__dirname, '../index.html'));
});
app.listen(app.get('port'),() => {
console.log('Angular 2 Full Stack listening on port ' +
app.get('port'));
});
});
export {app};
编辑: 这里的孔代码。我觉得我不达到与db.on('open')
线的时候我检查端口:
我同时使用:这个选项
"dev": "concurrently \"mongod\" \"ng serve -pc proxy.conf.json --open\" \"tsc -w -p server\" \"nodemon dist/server/server.js\"",
貌似有本地运行的一些程序在这里是我会做 -
- 在您的终端上执行
ps -ef | grep 4200
以检查哪个进程在本地运行 - 如果没有用,则终止该进程。
kill -9 ${Process_Id}
这将强制杀死进程。 - 尝试再次运行应用程序。
没有工作。我认为节点应用程序想要使用与角度相同的端口。但我指定它屁股3000而不是4200 –
以及这部分是真的。您可以在节点应用程序中执行此操作 - app.set('port',(process.env.PORT || 3000)); 这意味着如果你的bash配置文件中设置PORT变量指向4200它将采用该地址。我会说尝试删除process.env.port或该条命令的条件,看看节点应用程序是否运行在3000 –
首先感谢您的帮助,但仍然没有解决方案。在后面添加了hole server.ts。我不认为我到达'db.on'('open')' –
webpack:编译成功。 ^ C [1] +已杀死:9 ng服务
webpack:编译成功。 ^ Z [1] +已停止服务
如果您在Mac中使用Ctrl + Z,您将有'Port 4200已被使用。使用'--port'指定一个不同的端口。'later。
你是在本地运行还是在linux上运行? –
我在本地使用它 –
你的mongo在本地运行的端口是什么? –