网站搜索

react 工具箱 - 如何导入 TypeScript 定义文件


我正在尝试更新在此处找到的 react-toolbox 的 TypeScript 定义文件

我已经修复了许多编译错误,现在我有:

错误在 /myproject/typings/main/definitions/react-toolbox/index.d.ts (1047,8):错误 TS2664:增强中的模块名无效,无法找到模块 'react-toolbox/lib/app_bar'。

与定义文件中的以下代码相关:

declare module 'react-toolbox' {
    import AppBar from 'react-toolbox/lib/app_bar';

我已经使用 typings 安装了定义文件,并且我的 typings.json 文件包括:

"dependencies": {
  "react-toolbox": "npm:react-toolbox",

我正在使用 npm 安装方法,因为在我的 tsconfig.json 中我使用了 exclude,它不会自动被找到:

"exclude": [
    "node_modules",
    "typings/browser",
    "typings/browser.d.ts"
],

tsconfig.json 使用 “node” 模块解析

"compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",

我不确定是否我错误地配置了使用项目,以便能够在 node_modules 中找到这些文件,或者 TypeScript 定义文件需要修改以符合实现这一点的标准方法。我希望以标准方式实现这一点,这样我就可以提交一个拉取请求并让它被更新。

所有这些模块声明都有必要吗,还是可以简化?

答案#1

看起来这与使用 npm link 和 webpack 有关。我已经取消了 react-toolbox 的链接,并用我自己的版本覆盖了 Typings 目录中的版本,似乎可以正常工作。

我也找到了这个链接,我稍后会尝试看看是否能让 npm link 再次工作。