我想要 :
./myClass/index.js
MyClass
的公共方法(在index.ts或指定的声明文件中,我真的不知道该怎么做)index.ts
就像是
// index.ts
import MyClass from './myClass' // or require, or anything that would work
export {MyClass}
和
// myClass/index.js
export default class MyClass {
...
}
这显然不起作用,因为./myClass/index
的导入将找不到该模块。
问题是,我试图创建一个基于./myClass/index.d.ts
的this example文件,但无论如何,我仍然有一个错误:在运行时找不到模块'./myClass/index.js'错误:(
我觉得我在这里错过了一些打字稿基础,但我正在努力寻找一些明确的资源。
有任何想法吗 ?
JavaScript中没有export default class
。你能做的就是像这样写你的JS文件。 myClass/index.js
"use strict";
class MyClass {
hello(name) {
console.log(`Hello ${name}`);
}
}
exports.default = MyClass;
为它创建一个类型定义。 myClass/index.d.ts
export default class MyClass {
hello(name: string): void;
}
然后,您可以像这样将它导入TypeScript。
/// <reference path="./myClass/index.d.ts" />
import MyClass from "./myClass";
const my = new MyClass();
my.hello("Stack Overflow");
在你的javascript文件的末尾,写下这个
exports.MyClass = MyClass;
在ts文件中
import * as IzendaSynergy from './izenda/izenda_ui.js';
要么
import { IzendaSynergy } from './izenda/izenda_ui.js';
在tsconfig.json文件中
"allowJs": true