我不能在angular的库中包含package.json
的版本,但它可以在一个项目中工作。我这样使用import:
import { version } from '../../package.json';
并得到以下错误:
ERROR: error TS6059: File '/Users/.../library/package.json' is not under 'rootDir' '/Users/.../library/src'. 'rootDir' is expected to contain all source files.
An unhandled exception occurred: error TS6059: File '/Users/.../library/package.json' is not under 'rootDir' '/Users/.../library/src'. 'rootDir' is expected to contain all source files.
See "/private/var/folders/tw/z8v0wkt50g5876740n99hzy00000gp/T/ng-0JDpjC/angular-errors.log" for further details.
通过require
的方式包括整个package.json
,这会带来安全风险。import { version } from '../../package.json'
只包括版本号,但适用于角应用程序,而不是库。
3条答案
按热度按时间cotxawn71#
您可以像导入常规模块一样导入它:
但是一定要在tsconfig.json中将
"resolveJsonModule": true
添加到compilerOptions
。rhfm7lfc2#
这段代码怎么样:
yqlxgs2m3#
正如Jozef提到的,确保打开“resolveJsonModule”:true的值。
另一个旧的解决方案是进行http调用并加载package.json文件内容。这在文件内容动态更改时非常有用(例如部署服务器在部署时更新文件内容)。