Como faço para exibir a versão do aplicativo no aplicativo angular? a versão deve ser retirada do package.json
arquivo
{
"name": "angular-app",
"version": "0.0.1",
...
}
No angular 1.x, tenho este html:
<p><%=version %></p>
Em angular, isso não é renderizado como número da versão, mas apenas impresso como é (em <%=version %>
vez de 0.0.1
).
version
angular
package.json
Zbynek
fonte
fonte
typescript
, usonpm start
para executar a compilação eSystemJS
definir a configuração. existe uma maneira de definir a versão usando qualquer um desses?Respostas:
Se você deseja usar / mostrar o número da versão no seu aplicativo angular, faça o seguinte:
Pré-requisitos:
Estrutura angular de arquivo e pasta criada via Angular CLI
TypeScript 2.9 ou posterior! (Suportado do Angular 6.1 para cima)
Passos:
/tsconfig.json
(às vezes também necessária/src/tsconfig.app.json
), ative a opção resolveJsonModule (reinicialização do servidor de webpack dev necessária posteriormente):/src/app/app.component.ts
use as informações da versão:Também é possível executar a etapa 2 no arquivo environment.ts, tornando as informações da versão acessíveis a partir daí.
Thx @Ionaru e @MarcoRinck por ajudarem.
Esta solução não incluirá o conteúdo do package.json, apenas o número da versão.
Testado com Angular8 / Nó10 / TypeScript3.4.3.
Atualize seus aplicativos para usar esta causa da solução, dependendo do conteúdo do seu package.json, a solução original pode implicar problemas de segurança.
fonte
Se você estiver usando o webpack ou angular-cli (que usa o webpack), basta solicitar o package.json no seu componente e exibir esse suporte.
E então você tem seu componente
fonte
Usando a opção tsconfig,
--resolveJsonModule
você pode importar arquivos json no Typescript.No arquivo environment.ts:
Agora você pode usar
environment.VERSION
no seu aplicativo.fonte
Tentar a resposta de DyslexicDcuk resultou em
cannot find name require
Em seguida, a seção 'Carregamento opcional do módulo e outros cenários de carregamento avançado' em https://www.typescriptlang.org/docs/handbook/modules.html me ajudou a resolver isso. (Mencionado por Gary aqui https://stackoverflow.com/a/41767479/7047595 )
Use a declaração abaixo para exigir o package.json.
fonte
Solução simplista para usuários de CLI angulares.
Adicionar
declare module '*.json';
emsrc/typings.d.ts
E depois
src/environments/environment.ts
:Feito :)
fonte
"allowSyntheticDefaultImports": true
ao seu tsconfig.json, dependendo da sua versão Angular.É uma boa ideia declarar
version
como variável de ambiente Para que você possa usá-lo em qualquer lugar do seu projeto. (especialmente no caso de carregar arquivos para serem armazenados em cache com base na versãoe.g. yourCustomjsonFile.json?version=1.0.0
)Para evitar problemas de segurança (como o @ZetaPR mencionado) , podemos usar esta abordagem (no comentário de @sgwatgit)
Resumindo: criamos um yourProjectPath \ PreBuild.js Arquivo. Como isso:
O snippet acima criará um novo arquivo
/src/environments/version.ts
que contém uma constante nomeadaversion
e a definirá pelo valor extraído dopackage.json
arquivo.Para executar o conteúdo do
PreBuild.json
build, adicionamos este arquivo na seçãoPackage.json
->"scripts": { ... }"
como a seguir. Então, podemos executar o projeto usando este códigonpm start
:Agora podemos simplesmente importar a versão e usá-la onde quisermos:
fonte
Texto datilografado
HTML
fonte
Eu não acho que "Porcentagem de suporte de ângulo" tenha algo a ver com angular1. Provavelmente, uma interface para outra API que você não percebe está sendo usada em seu projeto anterior.
Sua solução mais fácil: basta listar o número da versão manualmente em seu arquivo HTML ou armazená-lo em uma variável global se você o estiver usando em vários locais:
Sua solução mais difícil: execute uma etapa de automação de construção que extrai o número da versão do arquivo package.json e, em seguida, reescreve o arquivo index.html (ou arquivo js / ts) para incluir o valor:
Poderia simplesmente importar ou exigir o arquivo package.json, se você estiver trabalhando em um ambiente que o suporte:
var version = require("../package.json").version;
Isso também pode ser feito em um script bash que lê o package.json e edita outro arquivo.
fonte
<% %>
geralmente indica uma linguagem .NET como C #Tentei resolver isso de uma maneira um pouco diferente, considerando também a facilidade de conveniência e manutenção.
Eu usei o script bash para alterar a versão em todo o aplicativo. O script a seguir solicitará o número da versão desejada e o mesmo será aplicado em todo o aplicativo.
Salvei esse script em um arquivo chamado version-manager.sh na raiz do projeto e, no meu arquivo package.json, também criei um script para executá-lo quando for necessário modificar a versão.
Finalmente, eu posso mudar a versão executando
Este comando alterará a versão no modelo index.html e também no arquivo package.json. A seguir, foram apresentadas algumas capturas de tela do meu aplicativo existente.
fonte
Você pode ler o package.json como qualquer outro arquivo, com o http.get assim:
fonte