Окружающая среда
'tns info' √ Получение информации о версиях компонентов NativeScript... ‼ Доступно обновление для компонента nativescript. Ваша текущая версия — 5.1.0, а последняя доступная версия — 5.1.1. ‼ Обновление доступно для компонентов tns-core-modules. Ваша текущая версия — 5.1.1, а последняя доступная версия — 5.1.2. √ Компонент tns-android имеет версию 5.1.0 и актуален. × Компонент tns-ios не установлен.
- Интерфейс командной строки: @angular/[email protected]
- Кроссплатформенные модули: нет данных
- Среда выполнения Android: последняя
- Время выполнения iOS: нет данных
- Плагин(ы): Н/Д .
В моей рабочей области у меня есть два проекта совместного использования кода nativescript + angular. В моих реальных проектах в рабочей области у меня есть файл nsconfig.file, который указывает на файлы, а также переопределен в webpack.config.js для тестирования, поскольку я не совсем уверен, что nsconfig работает должным образом.
При создании новой платформы он никогда не сможет найти манифест Android в проекте (что ожидается), я предполагаю, что при сборке он все равно переопределит эти значения. Однако Ближе к концу запуска «tns run android --bundle», похоже, он пытается направить в папку по умолчанию «app/», которую я не вижу даже в новом проекте совместного использования кода, поэтому я убежден, что это какой-то путь по умолчанию.
Ошибка следующим образом:
...
[./package.json] 129 bytes {bundle} [optional] [built]
+ 382 hidden modules
Webpack compilation complete. Watching for file changes.
Webpack build done!
Could not find folder: C:\Users\userNameHere\Desktop\projects\myProjects\AngularWorkSpace\app
Unable to apply changes on device: emulator-5554. Error is: ENOENT: no such file or directory, stat 'C:\Users\userNameHere\Desktop\projects\myProjects\AngularWorkSpace\app\App_Resources\Android'.
Все файлы, специфичные для проекта, будут находиться в workspace/projects/applicationOne
, а не в workspace/app
, что, как я полагаю, является своего рода путем по умолчанию, если ничего не найдено.
Показано рабочее пространство Angular с двумя проектами и библиотекой функций:
Для воспроизведения
Создайте новое пустое рабочее пространство. Добавьте 2 проекта совместного использования кода Angular. Добавьте библиотеку (возможно, необязательно). Настройте аналогичную структуру для повторно используемой платформы и веб-пакета.
Update nsconfig inside project 1 and 2
{
"appResourcesPath": "projects/applicationOne/App_Resources",
"appPath": "projects/applicationOne/src",
"nsext": ".tns",
"webext": "",
"shared": true
}
Ожидаемое поведение
Должна быть возможность иметь рабочее пространство Angular с несколькими добавленными проектами приложений. 1 webpack.config.js
для погрузочно-разгрузочных работ. nsconfig.js
для каждого приложения в папке проектов для путей. Чтобы построить для каждого приложения.
Дополнительный контекст
Я считаю, что у меня все настроено правильно. Я думаю, что единственная проблема - это Could not find folder: C:\Users\userNameHere\Desktop\projects\myProjects\AngularWorkSpace**\app**
. Я думаю, что \app
используется по умолчанию, когда путь не указан или не найден. он должен указывать на AngularWorkspace/projects/applicationOne
Обновление:
Когда я не переопределяю значения для appPath и appResourcesPath в файле webpack.config.js, я замечаю, что все пути не вернутся к рабочей области/приложению. Это наводит меня на мысль, что сборка использует appPath где-то еще за пределами веб-пакета, и что я не переопределю его достаточно быстро.
Я читал об обновлении переменных веб-пакета, таких как appPath, из командной строки, я думаю, причина в том, что приложение не загружается из nsconfig из проектов / applicationOne и поэтому по умолчанию. Я думаю, что если я смогу обновить это значение, а также appResourcesPath из командной строки, тогда сборки должны работать.