【发布时间】:2023-02-17 05:02:43
【问题描述】:
我有以下问题:
我正在制作一个休息 api,但当我向端点发出请求时,我的应用程序甚至没有进入操作?
这是我的服务器设置
import express, { Express } from 'express';
import cookieParser from 'cookie-parser';
import cors from 'cors';
import characterRouter from '../modules/character/router';
import userRouter from '../modules/user/router';
import itemsRouter from '../modules/item/router';
require('dotenv').config();
const app: Express = express();
app.use(cors);
//Setup cookieParser and public folder
app.use(cookieParser());
//Setup bodyParser
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.get('/items', (req, res) => {
console.log('OK');
res.json({ ok: true });
});
app.listen(3000, () => {
console.log(`Server listnening on port ${process.env.SERVER_PORT}`);
});
这是我第一次使用导入语法,可能是因为它吗?
当我发出请求 GET localhost:3000/items 它甚至不去 console.log
配置.json :
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"outDir": "./dist",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
}
}
【问题讨论】:
-
你编译了你的打字稿代码吗?
-
你试过运行
index.ts吗?那你做错了。你需要运行dist/index.js。您可以使用tsc && node ./dist/index.js制作一个 npm 脚本来运行您的应用程序 -
你甚至收到控制台消息
Server listening ...etc。我建议您将代码缩减为最简单的必需子集并首先对其进行测试。我将 node.js 与const express = require("express"); const app=express();一起使用,然后放置你的 app.get 和 app.listen 并且它工作正常。 -
你是如何测试api的?你得到响应体了吗?
-
弄清楚了。我认为要么是 npm cors 在烦我,要么是 cookie-parser npm。我删除了它们,现在它工作正常
标签: javascript node.js typescript express