Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript导入与JavaScript导入_Javascript_Typescript - Fatal编程技术网

Typescript导入与JavaScript导入

Typescript导入与JavaScript导入,javascript,typescript,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); Compile将得到如下错误:“TS7016:找不到模块“/module/c”的声明文件。” 我搜索并找到了一个解决方法:使用//@ts ignore,

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

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

b、 ts,我正试图在这个.ts文件中导入姓名和年龄


import { name, age } from "./module/c";
console.log(name, age);
Compile将得到如下错误:“TS7016:找不到模块“/module/c”的声明文件。”

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

// @ts-ignore
import { name, age } from "./module/c";
console.log(name, age);
问:对于此类问题,这是一种不正常的方式,是否有其他方式解决此问题?
顺便说一句,如果有一个例子就好了。。thx

由于您的
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

src/module/c.js

执行
节点距离/b
的输出:

string1 43

您说“a.js,尝试导出名称和年龄”,然后说“从“/module/c”;”导入{name,age}”。当你在
a
模块中声明时,为什么你认为TS可以在
module/c
模块中找到一些符号?输入错误,很抱歉,它是“c.js”,将更新它。..c.js在./module/folder下,这就是为什么我使用“import{name,age}from”。/module/c“如何使它在没有这行的情况下工作”//@TS忽略”“?嗯,您尝试从
.js
文件导入,该文件没有导出绑定的任何类型声明。要么将其设置为
c.ts
,要么提供单独的
export const name = 'string1';
export const age = 43;
string1 43