Пакет доступа. json из библиотеки angular - PullRequest
0 голосов
/ 16 марта 2020

Я собираю библиотеку angular и застрял при попытке получить доступ к файлу package.json в интегрирующем приложении.

Моя цель - прочитать переменную версии приложения из интегрирующего приложения.

Вот что я подумал:

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


@Injectable({
  providedIn: 'root'
})
export class AppVersionService {

  private version: string = version;

  getVersion() {
    return this.version;
  }
}

Логически я получаю эту ошибку:

ERROR: error TS6059: File 'C:/.workspace/app-versioning/package.json' is not under 'rootDir' 'C:\.workspace\app-versioninge\projects\app-versioning\ng-core'. 'rootDir' is expected to contain all source files.

PS: мне нужно загрузить только переменную app-version в браузер, а не весь package.json файл.

Любые идеи, спасибо!

1 Ответ

0 голосов
/ 16 марта 2020

Вы можете использовать require для получения файла package.json.

Одна хорошая и чистая практика - экспорт с использованием среды. Для этого просто запросите файл в environment.ts и экспортируйте нужные данные, например,

const packageJson = require('../../package.json');
export const environment = {
  ..
  version: packageJson.version
}

Конечно, вам нужно исправить в файле число ...

ОБНОВЛЕНИЕ :

angular -ngrx-material-starter

Этот angular стартовый проект включает в себя интересные инструменты для разработки и несколько передовой опыт, в том числе тот, который я упомянул в ответе. Я думал, что стоит добавить это к ответу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...