Неожиданный токен «:» в сервисе API узла при создании функции со строгой типизацией - PullRequest
0 голосов
/ 27 января 2020

У меня есть служба API узла, написанная на машинописном тексте, ниже приведен пример кода

class dataStreamConfig {
    constructor() { }

    conclaveObj = (firstParam: string, secondParam: number, thirdParam: any): any => {
        //my business logic goes here
       //return Obj

    };
}

module.exports = dataStreamConfig ;

Я получаю приведенную ниже ошибку

SyntaxError: Unexpected token ':'
    at Module._compile (internal/modules/cjs/loader.js:891:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)

Если я удаляю типы (строка, число , любой) из функции, то работает нормально. Я попытался повторить установку npm.

Также я npm установил babel-cli babel-preset-es2015.

Обновление

Ниже мой tsconfig. json

{
    "compilerOptions": {
      "target": "es5",
      "module": "commonjs",
      "sourceMap": true
    }
  }

Также у меня есть машинопись, установленная во всем мире. Я компилирую проект с помощью команды ts c на root, также я попытался запустить ts c в каталоге, который имеет класс.

Был бы очень признателен за любую помощь / предложение в этом вопросе.

1 Ответ

0 голосов
/ 27 января 2020

попробуйте избавиться от функции стрелки и использовать обычный способ написания функции с помощью ключевого слова function. Обратите внимание, что последний символ any в этой функции обозначает тип, который эта функция будет возвращать, и это необязательно. машинопись также может обнаружить это сама. так что не имеет значения, если вы предоставите это или нет ...

class dataStreamConfig {
constructor() { }

   let conclaveObj = function (firstParam: string, secondParam: number, thirdParam: any): any {
    //my business logic goes here
   //return Obj

};

}

module.exports = dataStreamConfig ;

для получения дополнительной помощи вы можете посетить их документацию ... https://www.typescriptlang.org/docs/handbook/functions.html

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