[英]Typescript: how to import a class from a javascript file?
我想要 :
./myClass/index.js
MyClass
的公共方法(在index.ts或指定的聲明文件中,我真的不知道該怎么做) 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
文件,但無論如何,我仍然有一個錯誤:在運行時找不到模塊'./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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.