打字稿:代码看起来正确,编译器抱怨

时间:2021-04-21 09:05:10

标签: node.js typescript npm

我开始使用打字稿。到目前为止,体验非常好。

今天早上,我将接管 2 个现有项目,这些项目目前已部署在生产和工作中。从而编译。据我所知,这两个项目都具有相同的 tsconfig 和 nodejs 配置。其中一个编译没有任何问题。

另一个是不同的故事。编译器似乎偶然发现了有效的代码,老实说,我不知道出了什么问题。

例如,它在文件的第一行失败:

src/services/user-agent.service.ts:1:13 - error TS1005: '=' expected.

1 import type { lookup } from 'useragent';
              ~

src/services/user-agent.service.ts:1:29 - error TS1005: ';' expected.

1 import type { lookup } from 'useragent';
                              ~~~~~~~~~~~

我对打字稿的了解有限,所以这可能是一种旧的、已弃用的编写代码的方式?我查了一下文档,我觉得没问题。

还有这个函数的第一行:

src/handlers/my-handler.ts:15:31 - error TS1109: Expression expected.

15     const companyId = payload?.content?.customer?.id;
                                 ~

src/handlers/my-handler.ts:15:40 - error TS1109: Expression expected.

15     const companyId = payload?.content?.customer?.id;
                                          ~

src/handlers/my-handler.ts:15:50 - error TS1109: Expression expected.

15     const companyId = payload?.content?.customer?.id;
                                                    ~

src/handlers/my-handler.ts:15:53 - error TS1005: ':' expected.

15     const companyId = payload?.content?.customer?.id;
                                                       ~

我正在使用 Visual Studio Code 来编辑此代码,它没有任何抱怨。短绒也通过。

版本:

  • nodejs:10.24.0
  • npm:5.8.0
  • 打字稿:4.1.2
  • tsc:3.3.3333
  • 在 WSL2 上的 Debian 中运行

我使用 npm run build 构建,它在幕后使用 tsc。同样,这似乎对一个项目有效,但对另一个项目无效,所以肯定有区别,但我不知道去哪里找。

0 个答案:

没有答案