Ошибка синтаксиса адресной информации Node.js (Express) - PullRequest
1 голос
/ 09 июля 2020

Я создаю сервер с использованием TypeScript, к которому мое приложение angular может подключиться, но при попытке его запуска получаю следующую ошибку: (PS Я пытался использовать деструктуризацию с AddressInfo, но Node.js или TS еще не совместим с функциями ES6)

const {address, port} = server.address() as AddressInfo;
                                             ^^

SyntaxError: Unexpected identifier
    at Module._compile (internal/modules/cjs/loader.js:720:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:643:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:839:10)
    at internal/main/run_main_module.js:17:11 

Код ниже:

const express = require('express');
const AddressInfo = require('AddressInfo');
const app = express();

app.get('/', (req, res) => res.send('Hello from Express'));

app.get('/products', (req, res) => res.send('Got a request for products'));

app.get('/reviews', (req, res) => res.send('Got a request for reviews'));

const server = app.listen(8000, "localhost", () => {
    const {address, port} = server.address() as AddressInfo;
    console.log(`Listening on ${address}:${port}`);
});

Ответы [ 2 ]

2 голосов
/ 09 июля 2020

Ключевое слово as не является ванильным JavaScript, это TypeScript, также Node.js запускает JavaScript, если вам нужно использовать TypeScript, вы можете использовать пакет node Typescript, который позволяет вам транспилировать .ts файлы в .js или используйте babel

1 голос
/ 09 июля 2020

Я создаю сервер с использованием TypeScript

Точнее, вы создаете сервер с использованием NodeJS. Узел изначально поддерживает только JavaScript. Быстрое исправление здесь - удалить as AddressInfo, поскольку это синтаксис TypeScript, а не JavaScript.

Если вы действительно хотите использовать TypeScript вместо JavaScript, вам необходимо переименовать файлы .js в .ts и настройте NodeJS для использования TypeScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...