【问题标题】:Cannot find module 'bot/startup/StartupManager'找不到模块 'bot/startup/StartupManager'
【发布时间】:2020-08-27 10:02:32
【问题描述】:

我正在尝试编写一个不和谐的机器人,但我似乎在设置打字稿配置/路径时遇到了障碍。即使编译器声称它可以找到我的文件,构建命令 npm run build 也无法找到我的模块并崩溃。

我的文件夹结构:

|src
  >|startup
    >|StartupManager.ts
|-app.ts
|-package.json
|-tsconfig.json

由于这里有一些活动部分,我将概述我所拥有的以及我试图解决的错误:

tsconfig.json:

   ...
   "baseUrl": ".",
    "paths": {
      "bot/*": [ "./src/*" ]
    }
   ...

app.ts(投诉文件

import { StartupManager } from 'bot/startup/StartupManager';
export { StartupManager };

new StartupManager();

我的构建命令:

"build": "tsc --build && tsc app.ts && node app.js",

在启动管理器中:

import { ILogger, Logger } from 'bot/core/logger';

export class StartupManager {
...
}

目前,我正在开发 Visual Studio 2019 社区版。重申一下,我的文本编辑器显示一切都很好,但是在构建开始的那一刻,我受到了欢迎:

    app.ts:1:32 - error TS2307: Cannot find module 'bot/startup/StartupManager'.

1 import { StartupManager } from 'bot/startup/StartupManager';
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Found 1 error.

任何人都可以给我一些建议吗?

【问题讨论】:

    标签: node.js typescript configuration discord.js


    【解决方案1】:

    来自 Typescript 手册中的 page在命令行中指定输入文件时,将忽略 tsconfig.json 文件。

    所以当您运行tsc app.ts 时,它不知道tsconfig.json 中设置的paths 属性。可能您想要做的只是运行tsc --build,因为它会编译包括app.ts 在内的文件。

    关于paths 属性,可能仍然需要安装一个额外的包来运行在模块导入中使用速记路径的.js 文件。有像 tsconfig-paths 这样的 NPM 包可以帮助解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-28
      • 2023-03-23
      • 2022-12-15
      • 1970-01-01
      • 2018-02-21
      • 2021-07-23
      相关资源
      最近更新 更多