无法在Typescript代码

时间:2017-03-10 06:57:22

标签: typescript npm

我有一个用Typescript(2.1.6)编写的Web项目,并在VScode中用Webpack编译。 我有一个日志客户端作为第三方,我目前正在尝试上传到NPM并将其用作普通依赖项。

该日志客户端最初是在" old"使用旧的Typescript模块(那些编译成Javascript对象的模块)的Typescript语法,所以我重写了代码以使用导入/导出语法。 我正在编译重构的日志代码,模块标志设置为" umd"并使用ES5作为目标脚本。 我正在使用dts-generator npm包为它创建一个d.ts文件。

目前它看起来有点像这样:(我真的没有代码在我面前,但这是一般的想法)

Logger.ts的重构代码如下所示:

import { LoggerSettings } from "./LoggerSetting";
import { AjaxRequest } from "./AjaxRequest";

// ... more of the same
export class Logger {
    // Implementation
}

创建的d.ts看起来像这样:

declare module "logging-client" {
    export class LoggerSettings {
        // ...
    }
}

declare module "logging-client" {
    export class Logger {
        // ...
    }
}

package.json看起来像这样:

{
    "name": "logging-client",
    "main": "Logger.js",
    "types": "logging-client.d.ts"
}

尝试将记录器导入我的打字稿代码时,我找不到记录客户端模块"。

我怎样才能开始诊断出这样的问题? 我做错了吗?

先谢谢,Avi:)

编辑:如果有人感兴趣,这里有一个问题的git repo: https://github.com/avrahams1/LogError

2 个答案:

答案 0 :(得分:1)

您可以尝试使用--traceResolution标志编译您的记录器用户项目,以查看发生了什么。

此处有更多信息:module-resolution

答案 1 :(得分:0)

我知道它已经有一段时间了,只想关闭这个。 没有办法重新调解旧的和新的Typescript语法,我不得不重新编写旧的记录器以符合ES6模块语法。