Typescript导入与JavaScript导入
/module/c.js,正在尝试导出名称和年龄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,
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