Typescript, приводящий к не может найти ошибку модуля - PullRequest
0 голосов
/ 01 марта 2020

Я пытаюсь создать базовый c Express API, и работаю с нечетной module not found ошибкой. До введения TypeScript в мой проект я никогда не получал эту ошибку. Это было довольно сложно решить. Я ценю любые предложения о том, почему я получаю эту ошибку и как ее устранить.

server.ts

import express from "express";
import cors from "cors";
import bodyParser from "body-parser";
//import * as api from "api"; also tried this

const app = express();

app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));

app.use('/api', require('./api'));

app.use('*', (req, res, next) => {
    let error = new Error('404: not found');
    next(error);
});

app.use((error, req, res, next) => {
    res.status(500).send({
        error: {
            message: error.message
        }
    });
});

const port = 3000;

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

module.exports = app;

api / api.ts

import express from "express";

const router = express.Router();

router.use('/', (req, res, next) => {
   res.send('cool');
});

module.exports = router;

1 Ответ

1 голос
/ 01 марта 2020

С машинописным шрифтом мы не используем module.exports, а экспортируем напрямую следующим образом:

import express from "express";

export const router = express.Router();

router.use('/', (req, res, next) => {
   res.send('cool');
});

Тогда мы можем получить маршрутизатор с

import {router} from './api'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...