Angular 11

Como pegar os parametros do arquivo package.json ?

Você pode utilizar um import

import package from './package.json'

console.log(package.version)
2 curtidas

Cannot find module ‘./package.json’ or its corresponding type declarations.ts(2307)

View Problem (Alt+F8)

Quick Fix… (Ctrl+.)

Identifier expected. ‘package’ is a reserved word in strict mode. Modules are automatically in strict mode.ts(1214)

Module ‘“c:/sistemas/workspace/forca_venda/forca_vendafrontend/package”’ has no exported member ‘package’.ts(2305)

import package

View Problem (Alt+F8)

Quick Fix… (Ctrl+.)

Encontrei estes erros.

É que para o que o @lucashpmelo sugeriu funcionar, vc tem que adicionar estas linhas ao seu tsconfig.json:

// ...
"compilerOptions": {
  "resolveJsonModule": true,
  "allowSyntheticDefaultImports": true,
  // ...

Além disso vc não pode usar a palavra “package” como nome, pois é reservada. Então ficaria algo assim:

import packageJson from 'package.json';

Vc pode pegar também só a propriedade que te interessa.

import { version } from 'package.json';

Só toma cuidado porque porque, pelo que li, importar dados do package.json abre brechas na segurança. Dependendo do que vc quer fazer, pode haver alternativas melhores.

1 curtida

Na verdade só queremos pegar o valor da version

Estas variáveis no tsconfig.json já estão como true

Acho que você só está tendo problemas com os caminhos relativos, experimenta assim:

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

Beleza, então só falta renomear já que não pode usar “package” e pelo erro que vc mostrou, é isso que tá errado.

1 curtida