我有一个用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答案 0 :(得分:1)
您可以尝试使用--traceResolution
标志编译您的记录器用户项目,以查看发生了什么。
此处有更多信息:module-resolution
答案 1 :(得分:0)
我知道它已经有一段时间了,只想关闭这个。 没有办法重新调解旧的和新的Typescript语法,我不得不重新编写旧的记录器以符合ES6模块语法。