Flo*_*ris 5 javascript typescript reactjs typescript-typings
我想使用import语句将原型化的 JavaScript 对象加载到我的 Reactjs 项目中。
首先,我有一个原型 Javascript 对象,我将其导出为 Webpack 模块:
var FloDialog=function(t){this.id=Date.now(),this.cloak=this.rende // etc //etc
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
module.exports = FloDialog;
}
Run Code Online (Sandbox Code Playgroud)
然后在类型定义文件中flo-dialog.min.d.ts我有您在下面看到的代码:
declare module 'flo-dialog' {
interface FloDialogOptions {
cache: boolean;
position: string;
effect: {
fade: boolean;
fill: boolean;
}
}
interface FloDialog {
constructor(opts?: FloDialogOptions): void;
openUrl(title: string, url: string, callback?: () => void): void;
}
const FloDialog: FloDialog;
export = FloDialog;
}
Run Code Online (Sandbox Code Playgroud)
import * as FloDialog from '../public/js/flo-dialog.min';最后我在React组件中使用了import语句Main.tsx file。
它可以在浏览器中运行,但我收到 Typescript 错误:TS2306: File '/public/js/flo-dialog.min.d.ts' is not a module.
那么,如何使用importReact... 中的语句正确导入 JavaScript 原型对象并使其强类型化?到目前为止我的方法有什么问题?
更新:Kokodoko 评论很有用。
我现在通过以下方式导入类型接口import {IFloDialog} from './types/index';并通过以下方式导入 Webpack 模块const FloDialog = require('../public/js/flo-dialog.min');
我不确定这是否是这样做的方法。但它可以工作,没有 Typescript 错误,并且 IDE 中有自动完成功能……并且它可以在浏览器中工作。
| 归档时间: |
|
| 查看次数: |
2821 次 |
| 最近记录: |