混合项目中.js文件的Typescript声明

时间:2018-10-05 01:47:02

标签: typescript

嗨,我正在将我的js react redux项目转换为打字稿。我想从我的redux reducers文件开始。

这就是我的项目当前的样子

|t: &Thing| t == &thing

文件内容-

reducers / index.ts

==

^我得到的代码-

Project/
  ...
  reducers/
     index.ts
  actions/
     index.js
  types/
     actions/
       index.d.ts
  ...
  tsconfig.js

在我的 类型/          动作/            索引 我有-

import { Actions } from "../actions";

在我的tsconfig.js中-

[ts] Could not find a declaration file for module '../actions'

所以不确定如何解决-

declare module "actions";

1 个答案:

答案 0 :(得分:0)

您可以跳过模块定义技巧(.d.ts)。 尝试在重构时尝试使用--allowJs编译器标志,而typescript在理解.js代码方面做得很好。

Ts config options

{
    "compilerOptions": {
        "target": "esnext",
        "module": "commonjs",
        "jsx": "react",
        "strict": true,
        "allowJs": true,  //Allows you to import and compile .js files
        "typeRoots": [
            "./types",
            "./node_modules/@types"
        ],
        "allowSyntheticDefaultImports": true,
        "esModuleInterop": true
    },
    "exclude": [
        "node_modules",
        "typings"
    ]
}