我有一个package.json,我希望它的版本能够显示在我的Web应用程序的UI上。当导入package.json时,我遇到的问题是它会暴露package.json的整个内容。有没有一个干净的解决方案,只提取版本,而不暴露其余的内容?这当然是出于安全原因。
我目前的方法是使用包中的版本。json:{ "name": "example", "version": "0.0.1", }
并通过像这样导入它来显示它:import { version } from '../../package.json';
然而,这样做会暴露整个文件,正如我从开发人员工具中看到的那样,你可以在我附上的图片中看到。
[DevTools中暴露的package.json][1] [1]:https://i.stack.imgur.com/eDV4p.png
2条答案
按热度按时间hvvq6cgz1#
我找到了一个解决方案,使用一个名为
node-env
的npm包,它允许我为版本设置节点环境变量,然后可以通过process.env.['VERSION']
访问我的Angular应用程序。package.json脚本示例:
字符串
然后,它可以像这样在您的组件中访问:
version = process.env?.['VERSION'] ?? 'Unknown Version';`个0lvr5msh2#
不管这个答案,
package.json
的内容确实暴露了。在您的
environment.ts
中,添加一个如下所示的属性:字符串
根据您的喜好调整
package.json
路径,版本将如下所示:型