打字稿导入与JavaScript导入

时间:2019-09-26 08:59:50

标签: javascript typescript

/module/c.js,尝试导出名称和年龄。

export const name = 'string1';
export const age = 43;

b.ts,我正在尝试在此.ts文件中导入姓名和年龄


import { name, age } from "./module/c";
console.log(name, age);

编译将得到如下错误:“ TS7016:找不到模块'./module/c'的声明文件。”

我搜索并找到了解决方法:使用// @ ts-ignore,这可以忽略语法验证。

// @ts-ignore
import { name, age } from "./module/c";
console.log(name, age);

问题:这是解决此类问题的一种异常方法,还有其他解决方法吗? 顺便说一句,如果有一个例子,那就太好了.. thx

1 个答案:

答案 0 :(得分:0)

由于c.js是JavaScript文件,因此应在tsconfig.json文件中设置"allowJs": true,以允许从.js文件导入。

tsconfig.json文件的示例为:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "allowJs": true,
    "outDir": "./dist",
    "rootDir": "./src",
    "strict": true,
    "esModuleInterop": true
  }
}

src / b.ts

import { name, age } from "./module/c";
console.log(name, age);

src / module / c.js

export const name = 'string1';
export const age = 43;

执行node dist/b的输出:

string1 43