错误 TS1192: 模块“A.module”'没有默认导出
error TS1192: Module '" A.module"' has no default export
我创建了一个新模块 'A' 并尝试将其导入到另一个名为 'B' 的模块中。我在编译时收到此错误
error TS1192: Module '" A.module"' has no default export
谁能帮忙解决这个错误。
这是一个简单的错误。这是由于导入语句本身中模块名称周围缺少 {} 造成的。由于这占用了我 2-3 小时的时间,所以与大家分享,以免浪费您的时间。希望这可以帮助某人。
干杯,
阿比.
已接受的答案对我不起作用,所以我发布了更多信息。
我有:
import Module from 'module';
这对我有用:
import * as Module from 'module';
来源:https://github.com/Microsoft/TypeScript/issues/3337#issuecomment-107971371
使用:
import { Module } from 'module';
您需要在 {...}
之间插入模块名称
对我来说,这个问题是在项目 tsconfig.json 的 compilerOptions
中使用 "allowSyntheticDefaultImports": true
解决的。
我们的特定错误与 moment js 导入有关。
关于这个选项的更多信息可以found here
除了将其作为模块导入之外,您还可以像这样要求它:
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";
我希望,它会对某人有所帮助。谢谢!
我通过将此添加到我的 angular 项目中的 tsconfig.json
来修复它。
{
...
"compilerOptions": {
...
"allowSyntheticDefaultImports": true,
我通过将以下内容放入 tsconfig.json
文件中解决了上述问题:
{
"compilerOptions": {
...
"esModuleInterop": true
...
}
}
您可以使用 SVGR Tool[= 将 .svg 转换为 SVG React 组件32=]
说明:
- 打开SVGR
- 复制您的 .svg 文件源代码并将其粘贴到 SVG Input
- 在项目目录
中创建名称为SvgComponent.jsx的文件
- 将来自 JSX 输出 的 jsx 代码粘贴到这个新的 .jsx 文件
要使用您的 SVG React 组件,请执行以下操作:
import SvgComponent from '../assets/SvgComponent';
我创建了一个新模块 'A' 并尝试将其导入到另一个名为 'B' 的模块中。我在编译时收到此错误
error TS1192: Module '" A.module"' has no default export
谁能帮忙解决这个错误。
这是一个简单的错误。这是由于导入语句本身中模块名称周围缺少 {} 造成的。由于这占用了我 2-3 小时的时间,所以与大家分享,以免浪费您的时间。希望这可以帮助某人。 干杯, 阿比.
已接受的答案对我不起作用,所以我发布了更多信息。
我有:
import Module from 'module';
这对我有用:
import * as Module from 'module';
来源:https://github.com/Microsoft/TypeScript/issues/3337#issuecomment-107971371
使用:
import { Module } from 'module';
您需要在 {...}
之间插入模块名称对我来说,这个问题是在项目 tsconfig.json 的 compilerOptions
中使用 "allowSyntheticDefaultImports": true
解决的。
我们的特定错误与 moment js 导入有关。
关于这个选项的更多信息可以found here
除了将其作为模块导入之外,您还可以像这样要求它:
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";
我希望,它会对某人有所帮助。谢谢!
我通过将此添加到我的 angular 项目中的 tsconfig.json
来修复它。
{
...
"compilerOptions": {
...
"allowSyntheticDefaultImports": true,
我通过将以下内容放入 tsconfig.json
文件中解决了上述问题:
{
"compilerOptions": {
...
"esModuleInterop": true
...
}
}
您可以使用 SVGR Tool[= 将 .svg 转换为 SVG React 组件32=]
说明:
- 打开SVGR
- 复制您的 .svg 文件源代码并将其粘贴到 SVG Input
- 在项目目录 中创建名称为SvgComponent.jsx的文件
- 将来自 JSX 输出 的 jsx 代码粘贴到这个新的 .jsx 文件
要使用您的 SVG React 组件,请执行以下操作:
import SvgComponent from '../assets/SvgComponent';