У меня есть приложение NativeScript / Angular, которое использует совместное использование кода.
Чтобы сделать мой проект более организованным, я создал базовую папку с подпапкой для маршрутизации:
Маршруты определены в app.common.ts
:
export const appRoutes: Routes = [
{ path: '', redirectTo: '/products', pathMatch: 'full' },
{
path: 'products',
loadChildren: '../products/products.module#ProductsModule'
}
]
Особый интерес представляет путь модуля, показанный в следующем свойстве:
loadChildren: '../products/products.module#ProductsModule'
Работа в браузере с использованием ng serve -o
работает нормально.
Объединение этого для запуска на Android с использованием tns run android --bundle
не работает, так как не может найти модуль.
Если я изменю путь на ~/app/products/products.module#ProductsModule
, приложение Android запустится, но веб-приложение не сможет найти модуль.
Если я оставлю средство просмотра файлов запущенным для сборки Android и вернусь к пути ../products/products.module#ProductsModule
, то и Android, и веб-интерфейс будут работать нормально.
Я не хочу перемещать мои файлы маршрутизации обратно в папку src
. Я также неохотно включаю любые хаки, такие как искажение строки пути на платформе.
Если у вас есть какие-либо объяснения относительно того, почему это происходит, и / или надежное исправление, которое не является «хакерским», я был бы рад услышать это.