首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在尊重错误的同时安全地从package.json导入版本:不应该导入命名的导出“版本”吗?

如何在尊重错误的同时安全地从package.json导入版本:不应该导入命名的导出“版本”吗?
EN

Stack Overflow用户
提问于 2021-12-10 02:09:07
回答 1查看 5.8K关注 0票数 5

在更新到Webpack 5之后,我得到了以下错误:

不应从默认导出模块导入命名的导出“版本”(导入为“版本”)(只有默认导出很快可用)。

超级简单的代码示例:

代码语言:javascript
复制
import { version } from '../package.json';

export const appVersion = version;

This question给出了import * as packageInfo from '../../package.json'; version: packageInfo.version,的解决方案,但它导入了所有的package.json,正如答案中的一些注释所指出的那样,这可能被认为是一种安全风险。

我所需要的只是版本号;如果我必须导入整个package.json并可能将其公开给我的用户,最好引入代码复制,只创建和维护两个独立的变量:

package.json

  • the版本在js应用程序

中的版本

然而,我猜想有一种安全的方法可以导入package.json,而不是让Webpack 5抱怨,我只是不知道。有这样的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-13 10:25:39

解决了这一问题,而无需导入package.json并将其公开给应用程序

  • 从npm安全变量($npm_package_version)获取.env文件中的变量,而不是将整个package.json文件作为对象列表。

.env

代码语言:javascript
复制
VUE_APP_VERSION=$npm_package_version

app.vue

代码语言:javascript
复制
 data() {
    return {
      projectVersion: process.env.VUE_APP_VERSION
}

  • 从env中获取数据并在前端显示为计算变量

注意:更改服务器配置需要重新启动服务器或重新部署

  • 步骤1- npm版本小/主要/修补程序->在packages.json中自动更新

(请遵循语义版本控制&使用命令individually.)

步骤2-部署和版本刷新的automatically

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70298948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档