【发布时间】:2018-10-13 11:54:07
【问题描述】:
如何将 js 库(在我的例子中是 xhook 库)导入到我用 typescript 编写的 react native 项目中?或者如何为外部 js 库创建 typescript 头文件?
【问题讨论】:
-
看看这是否有帮助? github.com/philikon/ReactNativify
标签: javascript typescript react-native
如何将 js 库(在我的例子中是 xhook 库)导入到我用 typescript 编写的 react native 项目中?或者如何为外部 js 库创建 typescript 头文件?
【问题讨论】:
标签: javascript typescript react-native
你可以简单地使用:
const signalrLib = require("react-native-signalr").default
【讨论】:
TypeScript 像 Babel 或任何其他扩展的 Javascript 语言一样编译为纯 Javascript。
因此,当您将示例 xhook 添加到您的项目时,项目所有者已经将他/她的 TypeScript 代码编译为纯 JS,您可以像导入任何其他库一样导入它。
例如。 import xhook from 'xhook' 等库作者如何指定。
如果你访问 xhook 的 git 页面 https://github.com/jpillora/xhook 你可以自己看到它,你可以在文件夹 dist 和 package.json -file 中看到编译后的代码,属性 main 指向该文件。
TypeScript 本身并不是在浏览器中运行的语言,但它总是被编译为纯 JavaScript。希望这有助于了解其工作原理。
编辑。看起来xhook实际上是用 CoffeeScript 编写的,但同样的规则也适用于它。
【讨论】:
按照建议,您可以在 typescript 中使用任何 ES6/ES2015 表示法。 使用新的打字稿,导入将是
import xhook from 'xhook';
旧版本:
import * as xhook from 'xhook'
某些模块没有类型支持。你可以寻找类型支持
yarn add @types/xhook
如果你没有找到可以使用的类型支持,节点需要语法
const xhook = require('xhook');
为此,您可能需要声明,require 定义如下:
declare const require: any;
【讨论】: