Я сделал то же самое для одного из моих предыдущих проектов только для мобильных устройств {NS}.Изначально это была не простая поездка, но как только вы решите, очень экономно время, чтобы использовать одну и ту же кодовую базу как для Интернета, так и для мобильных устройств.Вот шаги, которые я бы предложил, основываясь на моем опыте.
- Вы должны использовать @ angular / cli @ 6.1.0 или новее.
npm i -g @angular/cli
- Установить нативные скриптовые схемы.
npm i -g @nativescript/schematics
- Создать новый проект.
ng new --collection=@nativescript/schematics my-mobile-app
(Я сделал это таким образом, а затем скопировал из папки Mobile app папку src / app). - Скопируйте папку app / src из существующего проекта.(Возможно, вы захотите найти исходную папку в nsconfig.json
"appPath": "app"
) - Найдите файл .ts, в котором вы используете специфические компоненты для мобильных устройств, и создайте для него класс-оболочку .Например, я использовал Fancy Alerts для мобильных приложений, поэтому я создал вспомогательный класс оболочки, такой как helper.tns.ts и helper.ts
в helper.ts
public show() {
alert('Javascript+HTML alert') .
}
в helper.tns.ts
public show() {
TNSFancyAlert.showWarning('Warning!', 'Message', `Ok`, 0, 300).then(() => {
resolve('Success');
});
}
Переименуйте все .html в .tns.html и создайте веб-html-файлы.
Создание веб-приложения
ng serve
Создание мобильного приложения
tns run android --bundle
tns run ios --bundle
PS --bundle
- это ключ для компиляции только определенных файлов для мобильных устройств.HTML-код, который определяет представление компонента, должен отличаться для веб-приложения и мобильного приложения.