Измените каталог сгенерированного файла metdata.json при сборке библиотеки с помощью ng-packagr

Я создал библиотеку Angular. Я использую ng-packagr для сборки библиотеки. Когда я создаю библиотеку с помощью ng-packagr, он создает .metada.json для AOT в каталоге, где существует файл public_api.ts.

Можем ли мы изменить сгенерированный каталог .metdata.json так, чтобы он находился внутри папки dist?

ng-package.json

{
  "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
  "lib": {
    "entryFile": "public_api.ts",
    "languageLevel": [
      "dom",
      "es2017"
    ]
  },
  "whitelistedNonPeerDependencies": [
    "@angular/*",
    "core-js",
    "rxjs",
    "zone.js",
    "moment",
    "aws-sdk"
  ]
}

tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": ".",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "rootDir": ".",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "inlineSources": true,
    "skipLibCheck": true,
    "noImplicitAny": false,
    "declaration": false,
    "target": "es5",
    "lib": [
      "es7",
      "dom"
    ],
    "typeRoots": [
      "node_modules/@types"
    ],
    "types": [
      "node",
      "jasmine"
    ]
  },
  "angularCompilerOptions": {
    "skipTemplateCodegen": true,
    "strictMetadataEmit": true,
    "fullTemplateTypeCheck": true
  },
  "exclude": [
    "node_modules"
  ]
}

person nuwan.chamara    schedule 10.10.2018    source источник
comment
Если вы измените metadata.json, ваши изменения не сохранятся при следующей установке npm. Это будет отменено. Вы можете переместить этот пакет в папку src и импортировать оттуда.   -  person Suresh Kumar Ariya    schedule 10.10.2018
comment
На самом деле я не хочу изменять содержимое файла metadata.json. Я хочу, чтобы файл metadata.json создавался внутри папки с именем dist, когда библиотека создается с помощью команды ng-packagr -p ng-package.json. В настоящее время он генерируется вместе с исходными файлами в каталоге src. Спасибо.   -  person nuwan.chamara    schedule 10.10.2018
comment
Вы можете поделиться конфигурацией ngPackgr ng-package.json? Он должен создавать эти вещи внутри выходной папки   -  person Vivek Kumar    schedule 10.10.2018
comment
@VivekKumar Я обновил вопрос с помощью ng-package.json и ts-config.json   -  person nuwan.chamara    schedule 10.10.2018


Ответы (1)


Если вы создаете этот проект с самого начала и используете последнюю версию angular или даже угловую версию 5, то я бы посоветовал вам использовать Nx Workspace.

Это делает процесс создания пакета angular очень простым,

person Vivek Kumar    schedule 10.10.2018