Angular7 - Сбой сборки при прохождении пакета Bitbucket - PullRequest
0 голосов
/ 12 февраля 2019

Я хотел бы построить систему, в которой угловые компоненты могут быть повторно использованы в нескольких приложениях с использованием bitBucket.

На данный момент у меня есть следующее:

  • BitBucket Repo A- хранить модуль узла.На данный момент модуль создается как библиотека, а основное приложение используется в качестве демонстрационной версии.Библиотека собирается и экспортируется при запросе модуля из этого репозитория.(https://bitbucket.org/joseph118/ng-module-x/src/master/)
  • BitBucket Repo B - Приложение, которое использует «BitBucket Repo A» (устанавливает библиотеку) и многое другое (веб-приложение). (https://bitbucket.org/joseph118/app-x/src/master/)

В Repo A приложение может собирать, производить сборку, создавать библиотеку, а также обслуживать.

В Repo B приложение может собирать и обслуживать, однако при производственной сборке происходит сбой.в результате вы получите 'module not found' , но, проверив папку node_modules, я могу убедиться, что все в порядке.

В этом случае я выполнил следующую команду: 'ngbuild --prod --verbose ', чтобы получить больше информации о процессе. Однако в итоге я получил следующее:

ERROR in ./node_modules/ng-module-x/dist/lib-module/lib-module.ngfactory.js
Module not found: Error: Can't resolve 'lib-module' in 'C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\ng-module-x\dist\lib-module'
resolve 'lib-module' in 'C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\ng-module-x\dist\lib-module'
Parsed request is a module
using description file: C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\ng-module-x\dist\lib-module\package.json (relative path: .)
Field 'browser' doesn't contain a valid alias configuration
resolve as module
looking for modules in C:/Users/joseph.borg/Documents/P Repo/app-x/
using description file: C:\Users\joseph.borg\Documents\P Repo\app-x\package.json (relative path: .)
    Field 'browser' doesn't contain a valid alias configuration
    using description file: C:\Users\joseph.borg\Documents\P Repo\app-x\package.json (relative path: ./lib-module)
    no extension
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\lib-module doesn't exist
    .ts
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\lib-module.ts doesn't exist
    .tsx
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\lib-module.tsx doesn't exist
    .mjs
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\lib-module.mjs doesn't exist
    .js
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\lib-module.js doesn't exist
    as directory
        C:\Users\joseph.borg\Documents\P Repo\app-x\lib-module doesn't exist
C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\ng-module-x\dist\lib-module\node_modules doesn't exist or is not a directory
C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\ng-module-x\dist\node_modules doesn't exist or is not a directory
C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\ng-module-x\node_modules doesn't exist or is not a directory
C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\node_modules doesn't exist or is not a directory
C:\Users\joseph.borg\Documents\P Repo\node_modules doesn't exist or is not a directory
C:\Users\joseph.borg\Documents\node_modules doesn't exist or is not a directory
C:\Users\joseph.borg\node_modules doesn't exist or is not a directory
C:\Users\node_modules doesn't exist or is not a directory
C:\node_modules doesn't exist or is not a directory
looking for modules in C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules
using description file: C:\Users\joseph.borg\Documents\P Repo\app-x\package.json (relative path: ./node_modules)
    Field 'browser' doesn't contain a valid alias configuration
    using description file: C:\Users\joseph.borg\Documents\P Repo\app-x\package.json (relative path: ./node_modules/lib-module)
    no extension
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\lib-module doesn't exist
    .ts
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\lib-module.ts doesn't exist
    .tsx
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\lib-module.tsx doesn't exist
    .mjs
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\lib-module.mjs doesn't exist
    .js
        Field 'browser' doesn't contain a valid alias configuration
        C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\lib-module.js doesn't exist
    as directory
        C:\Users\joseph.borg\Documents\P Repo\app-x\node_modules\lib-module doesn't exist

Я пробовал несколько изменений в проекте, но пока безрезультатно со сборкой.

Шаги репликации: клонируйте репо B (https://bitbucket.org/joseph118/app-x/src/master/) и запустите 'ng build --prod'.

Если есть что-то, что я могу предоставить или объяснить с моей стороны, позвольте мнезнаю.

1 Ответ

0 голосов
/ 13 февраля 2019

Обновил приложение tsconfig.json и добавил следующую конфигурацию:

"paths": {
  "data-table": [
    "./node_modules/ng-module-x/dist/lib-module"
  ],
  "data-table/*": [
    "./node_modules/ng-module-x/dist/lib-module/*"
  ]
}

, а затем обновил импорт так, чтобы он указывал на «таблицу данных», что решает проблему.

import { LibModuleModule } from 'lib-module';

Источник: https://github.com/angular/angular-cli/issues/13665

...