错误:不应导入命名的导出“版本”(导入为“版本”)

互联网 行业动态 更新时间:2024-06-13 00:19:07

Spl*_*tar 39

更改以下内容

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


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

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

  version,

或者

  version: version,

version: packageInfo.version,

这并不能解决问题,您现在将收到此警告。`不应从默认导出模块导入命名导出“版本”(导入为“packageJson”)(仅默认导出很快可用)` (7认同) 同意@JeyDWork,这个解决方案应该被标记为潜在的安全风险。如果您的 `package.json` 现在不包含机密数据,谁会保证其他开发人员不会在几年后将它放在那里,而不知道它已暴露于生产环境?即使没有任何秘密,通常情况下,企业也不希望将 `package.json` 中有关其 `dependencies` 和 `devDependencies` 的信息暴露给所有人——这使得发现漏洞和渗透应用程序变得更加容易。 (6认同) 将导入语句更新为 `import packageInfo from '../../package.json';` @Breakpoint25 (6认同) 但这不会带来安全风险并将整个 package.json 暴露给客户端吗? (5认同) @Splaktar 即使在 `package.json` 中没有秘密,我也觉得这**非常不安全**。大多数开发人员和维护人员,即使有经验,也不会将 `package.json` 视为公共领域的东西。并且在代码库中“隐藏”这样的实现真的很痛苦的镜头就在前方。特别是因为这个错误现在出现在客户端技术 Angular 12 上。因此,**清晰可见的 HEADS-UP** 将适合恕我直言。 (5认同) 从 '../../package.json' 导入 * 作为 packageInfo;版本:packageInfo.version, (2认同)

Had*_*umi 20

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

    import packageInfo from './package.json';
    
    
    version = packageInfo.version;

这与“resolveJsonModule”一起:true,“allowSyntheticDefaultImports”:true` (2认同)

小智 17

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

@NuryagdyMustapayev 这对我有用:`import * as packageInfo from '../../package.json';` 并重命名变量而不是直接访问 `version` `someName = packageInfo` (2认同)

Yuv*_*til 8

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

import rData from './registration-form.json';

小智 5

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

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

我在 Angular 项目的单元测试代码中导入了 JSON 文件。将 Angular 版本升级到 v12 后,我开始收到此错误。在我的测试代码中,我已经按照接受的答案中的描述以正确的方式导入,但是我收到了这个错误。更改为 `require` 为我解决了。谢谢。 (2认同)

更多推荐

版本,不应,错误

本文发布于:2023-04-20 20:58:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/66fc40e99648badc1e6629c2e09b4585.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:版本   不应   错误

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!