error TS1192: Module '" A.module"' has no default export

我已经创建了一个新的模块‘ A’,并尝试将其导入到另一个名为‘ B’的模块中。我在编译时遇到了这个错误

错误 TS1192: Module’“ A.Module”’没有默认导出

Can anyone please help on how to solve this error.

101140 次浏览

这只是一个简单的错误。这是因为导入语句本身的模块名称周围缺少{}。因为这个消耗了我2-3个小时的时间,和你们分享,这样你们就不会浪费你们的时间。希望这个能帮到别人。 干杯, 阿比。

接受的答案不适合我,所以我张贴更多的信息。

我有:

import Module from 'module';

这对我很有用:

import * as Module from 'module';

Src: https://github.com/Microsoft/TypeScript/issues/3337#issuecomment-107971371

用途:

import { Module } from 'module';

You need to insert the module name between {...}

对我来说,这个问题是在项目的 tsconfig.json 中使用 compilerOptions中的 "allowSyntheticDefaultImports": true解决的。

我们的具体错误与一个瞬间 js 导入有关。

关于这个选项的更多信息可以是 在这里发现的

Instead of importing it as module, you can also require it like so:

const Module = require('./some_folder/module');

module.ts将会:

module.exports = class Module {
... your module code
}

上面的答案并没有解决我的错误。下面的解决方案对我很有效。在此之前,我只运行下面的命令

npm i @types/moment-timezone --save-dev

然后在.ts 文件中导入下面这样的瞬间。

import * as moment from "moment-timezone";

I hope, it will help someone. Thanks!

我把它加入到我的角度项目的 tsconfig.json中来修正它。

{
...
"compilerOptions": {
...
"allowSyntheticDefaultImports": true,

I fixed above issue by putting the following inside the tsconfig.json file:

{
"compilerOptions": {
...
"esModuleInterop": true
...
}
}


您可以使用 < a href = “ https://github.com/gregberge/SVGR”rel = “ nofollow noReferrer”> SVGR Tool . svg转换为 SVG 反应组件

Instructions:

  1. 打开 SVGR
  2. 复制您的 . svg文件源代码并粘贴到 SVG 输入
  3. 在项目目录中创建一个名为 SvgComponent.jsx的文件
  4. Paste the jsx code from the JSX 输出 in this new .jsx file

要使用 SVG 反应组件,请执行:

import SvgComponent from '../assets/SvgComponent';