Созданная вручную подпапка из / src отсутствует в / dist при сборке - PullRequest
0 голосов
/ 04 июня 2019

Я создал подпапку в /src с именем /libs.Когда я запускаю npm run build, подпапка не включается в /dist.

Я предполагаю, что мне нужно изменить скрипт сборки?Если да, то какой это будет файл?

Edit # 1

Все это связано с попыткой потребовать от моего контроллера пользовательский модуль, расположенный в src/libs.Я пробовал разные шаблоны: ../libs/module_name, ./libs/module_name.Единственный способ заставить его работать - это жестко закодировать путь от корня (то есть /home/me/app/src/libs/module_name).

Если я сделаю: console.log(__dirname) в контроллере, который пытается запросить модуль из /libЯ вижу ссылку на /dist.Я посмотрел в /dist и /libs там не было.

Ответы [ 2 ]

2 голосов
/ 06 июня 2019

lb-tsc - это тонкая оболочка для компилятора TypeScript (tsc), источник которого можно найти в loopback-next: packages / build / bin / compile-package.js

Среди других опций он предоставляет новый флаг --copy-resources для копирования файлов не-TypeScript из src в dist. Я думаю, что он может работать так же хорошо (если не лучше), как ваше решение cp -r.

"scripts": {
    ...
    "build": "lb-tsc es2017 --outDir dist --copy-resources"
    ...
}

Лично я бы использовал другое решение:

  • использовать src только для компилируемых файлов TypeScript
  • поместить исходные коды JavaScript и другие файлы в другой каталог, например, lib (вместо src/lib).
0 голосов
/ 05 июня 2019

С помощью коллеги я разобрался. В package.json я добавил команду копирования, чтобы перенести папку libs в dist в разделе сборки.

"scripts": {
    ...
    "build": "lb-tsc es2017 --outDir dist && cp -r src/libs dist",
    ...
}
...