繁体   English   中英

无法以Typescript代码导入自己创建的NPM软件包

[英]Can't import self created NPM package in Typescript code

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

该日志记录客户端最初是使用旧的Typescript模块(可编译为Javascript对象的模块)以“旧” Typescript语法编写的,因此我重写了代码以使用import / export语法。 我正在使用模块标志设置为“ 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"
}

当尝试将Logger导入到我的打字稿代码中时,出现“找不到logging-client模块”。

我什至如何开始诊断这样的问题? 难道我做错了什么?

在此先感谢,Avi :)

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

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

更多信息在这里: 模块分辨率

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM