typescript - tsconfig.json typeroots 自定义路径未被拾取

标签 typescript module tsconfig

我有一些自定义的 .d.ts 文件,我希望 tsc 在编译时选择这些文件。为了完成这项工作,我修改了 tsconfig.file 以包含以下内容

"typeRoots": [
      "../node_modules/@types",
      "./app/modules"
    ]

./app/modules 是我的自定义 .d.ts 文件所在的位置。在 ./app/modules 文件夹中,我有以下文件 myModule.d.ts

export declare module myModule {
  function Login();
  function Logout();
}

现在在我的其他 typescript 文件中,我有以下导入

import { myModule } from 'myModule';

这里我得到以下错误找不到模块'myModule'。

最佳答案

我找到了解决这个问题的配置。注意 pathsbaseUrl 属性:

{
  "version": "2.1.5",
  "compilerOptions": {
    "module": "commonjs",
    "target": "ES5",
    "removeComments": true,
    "preserveConstEnums": true,
    "inlineSourceMap": true,
    "lib": ["es6", "dom"],
    "typeRoots": ["src/subfolder/node_modules/@types"],
    "moduleResolution": "node",
    "baseUrl": "./",
    "paths": {
      "*": ["src/subfolder/node_modules/@types/*", "*"]
    }
  },
  "exclude": ["node_modules", "src/subfolder/node_modules"]
}

关于typescript - tsconfig.json typeroots 自定义路径未被拾取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41272378/

相关文章:

class - TypeScript 静态成员与带有类名的命名空间

magento - 将客户重定向到客户登录网站 Magento 2 的产品页面

javascript - 将所有 typescript 文件输出生成到单个 js 文件时,AngularJs 2 无法启动

angular - 如何在不失去活跃订阅者的情况下更新 Observable?

typescript - 对象数组 Prop 装饰器 StencilJS

module - 从多个项目导入 D 模块

typescript - 使用 typescript 时如何使用testcafe解析非相对路径

javascript - 使用装饰器扩展原型(prototype)

javascript - 取消useEffect的Async with TypeScript,正确的方法

javascript - 在 Angular 5 CLI 项目中编译 JavaScript 文件