Definitelytyped: @ type / express، @ types / express-serve-static-core - فشل الخادم الأساسي. 'الوسيطة من النوع' "/ api" 'غير قابلة للتخصيص لمعامل من النوع' RequestHandlerParams '.

تم إنشاؤها على ٤ أغسطس ٢٠١٧  ·  3تعليقات  ·  مصدر: DefinitelyTyped/DefinitelyTyped

  • [x] حاولت استخدام الحزمة @types/express و @types/express-serve-static-core وواجهت مشاكل.
  • [x] حاولت استخدام أحدث إصدار مستقر من tsc. https://www.npmjs.com/package/typescript
  • [] لدي سؤال غير مناسب لـ StackOverflow . (يرجى طرح أي أسئلة مناسبة هناك).
  • [x] [أذكر] (https://github.com/blog/821-mention-somebody-they-re-notified) المؤلفون (انظر Definitions by: في index.d.ts ) حتى يتمكنوا من ذلك رد.

    • المؤلفون: borisyankov

الشفرة:

import * as express from "express";
import { Request, Response } from "express";
import * as bodyParser from "body-parser";
import * as api from "./routes/api";

namespace my_api  {
    let app = express();
    let port: number = process.env.port || 3000;
    app.use(bodyParser.json());
    app.use('/api', api);
    app.get('/', (req: Request, res: Response) => {
           res.send("Hello world");
    });

    app.listen(port, () => console.log(`Express app listening on port ${port}`);
}

عند البناء:

ERROR in /path/to/server.ts (25,11): Argument of type '"/api"' is not assignable to parameter of type 'RequestHandlerParams'.

متعلق ب:
صريح / صريح # 3263

التعليق الأكثر فائدة

تضمين التغريدة
لقد واجهت هذا الخطأ أيضًا وقضيت الكثير من الوقت في اكتشاف ذلك. حاولت إصلاح تعريف الأنواع عن طريق كتابة d.ts. الملفات لكني فشلت. ثم جئت عبر هذا expressjs: printcript: Argument of type 'typeof'غير قابل للتخصيص إلى معلمة من النوع' RequestHandlerParams '
أرى الكثير من المشاكل مع أنواع TypeScript و Expressjs وربما تكون هذه المشكلة خطيرة ولكن الاستيراد بدون استخدام * يبدو أنه يحل المشكلة على الأقل مع استدعاء وظيفة الاستخدام الزائد.

ال 3 كومينتر

تضمين التغريدة
لقد واجهت هذا الخطأ أيضًا وقضيت الكثير من الوقت في اكتشاف ذلك. حاولت إصلاح تعريف الأنواع عن طريق كتابة d.ts. الملفات لكني فشلت. ثم جئت عبر هذا expressjs: printcript: Argument of type 'typeof'غير قابل للتخصيص إلى معلمة من النوع' RequestHandlerParams '
أرى الكثير من المشاكل مع أنواع TypeScript و Expressjs وربما تكون هذه المشكلة خطيرة ولكن الاستيراد بدون استخدام * يبدو أنه يحل المشكلة على الأقل مع استدعاء وظيفة الاستخدام الزائد.

natejgardner مشكلتك في Api Router:

يمكنك تجربة حل مثل هذا (في ملف "./routes/api"):

import { Router } from "express";
const router: Router = Router();
router.get("/", getInfo);
// ...other routes...
export = router;

إنه عمل لي .... استمتع :)

هل هذا ثابت؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات