46

我有一个弹出的 create-react-app 项目。将其更新到 webpack 5 后出现此错误。它在 webpack v4.41.5 上运行良好

操作系统:MacOS Catalina 10.15.7
节点:v10.23.0

错误:不应从默认导出模块导入命名导出“版本”(导入为“版本”)(仅默认导出很快可用)。

4

6 回答 6

70

如评论中所述,不建议像这样公开您的 package.json 文件。

更改以下内容

import { version } from '../../package.json';

类似于

import * as packageInfo from '../../package.json';

然后从类似的东西更改您的访问权限

version,

或者

version: version,

version: packageInfo.version,
于 2021-04-22T15:53:53.223 回答
29

您还应该添加 "allowSyntheticDefaultImports": true, 到 tsconfig.json 中的 compileroptions

于 2021-05-15T13:06:26.973 回答
7

使用最新版本的create react app,以下语法有效:

import rData from './registration-form.json';
于 2021-12-29T06:38:50.763 回答
3

我用以下方法解决了我的问题:

    import packageInfo from './package.json';
    
    
    version = packageInfo.version;
于 2022-01-24T12:58:19.603 回答
1

怎么样 const appVersion = require('./package.json').version;

使用它,我们实际上并没有发布整个 package.json,而只是从中引入了版本。

于 2022-01-12T22:26:58.767 回答
-3

我认为您应该只更改以下导入:

import { version } from '../../package.json';

使用以下导入:

import version from '../../package.json';
于 2021-09-13T12:27:55.720 回答