Angular, NativeScript ve Nx ile Kod Paylaşımı

NativeScript, "JavaScript, doğru bir şekilde yapılandırılırsa muazzam ölçeklenebilirlik fırsatları sunar" diyor.

Kulağa hoş geliyor, ancak Angular (web) ve Angular NativeScript (Android, iOS) uygulamalarınız için gerçekte nasıl bir "entegre monorepo" yaratırsınız? NativeScript belgeleri, Nrwl Nx DevTools'u @nativescript/nx ile kullanmanızı önerir ve bu harikadır.

# 0. Install NPM LTS globally
$ nvm install --lts

# 1. Install Angular CLI globally
$ npm install -g @angular/cli

# 2. Install NativeScript CLI globally
$ npm install -g nativescript

# 3. Install Nrwl Nx CLI globally
$ npm install -g nx

# 4. Generate a new Nx workspace with an empty integrated monorepo
$ npx create-nx-workspace@latest angular-nativescript-workspace

# 5. Navigate to the Nx-workspace directory
$ cd angular-nativescript-workspace

# 6. Install NativeScript and Angular plugins
$ npm install --save-dev @nativescript/nx @nativescript/angular @nativescript/android @nativescript/ios @nrwl/angular

# 7. Generate a new Angular web app with SCSS, routing enabled, and no Standalone Components
$ nx generate @nrwl/angular:application --name=web-app

# 8. Generate a new NativeScript mobile app with Angular as the front end
$ nx generate @nativescript/nx:application --name=mobile-app

# 9. Generate a new shared library with Jest and TSC
$ nx generate @nrwl/js:lib --name=shared

# 10. Generate shared TypeScript model classes for User, Game, and Item
$ touch libs/shared/src/lib/user.ts
$ touch libs/shared/src/lib/game.ts
$ touch libs/shared/src/lib/item.ts

# 11. Run the web app
$ nx serve web-app

# 12. Run the mobile app on an Android device or emulator
$ nx run nativescript-mobile-app:android

# 13. Run the mobile app on an iOS device or simulator
$ nx run nativescript-mobile-app:ios

export class User {
    constructor(public id: number, public name: string) {}
}
export class Game {
    constructor(public id: number, public title: string) {}
}
export class Item {
    constructor(public id: number, public description: string) {}
}

export * from './lib/user';
export * from './lib/game';
export * from './lib/item';

import {Component} from '@angular/core';
import {User, Game, Item} from '@angular-nativescript-workspace/shared';

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.scss'],
})
export class AppComponent {
    user = new User(1, 'John Doe');
    game = new Game(1, 'Example Game');
    item = new Item(1, 'Example Item');
}

Suggested posts

Kodsuz Devrim: Webflow, Framer, Bubble.io ile İş Refahını Ortaya Çıkarma,

Kodsuz Devrim: Webflow, Framer, Bubble.io ile İş Refahını Ortaya Çıkarma,

Bu şaşırtıcı kodsuz platformların kullanılmayan potansiyelinden yararlanırken heyecan verici bir yenilik ve başarı yolculuğuna çıkın. Dikkate değer bir kadın girişimci olan Sapna ile ilgili bir hikayeyi sizinle paylaşayım.

En çok kullandığım kodlama kaynaklarım

En çok kullandığım kodlama kaynaklarım

Bu hafta, günlük e-posta listesinin bir üyesinden bir e-posta aldım. Bilmek istediler: Günlük, haftalık ve aylık olarak hangi kaynakları ziyaret ediyorsunuz? Harika soru! İş akışım ve kullandığım en önemli kaynaklar hakkında bazı bilgileri paylaşmaya çalışmaktan mutluluk duyuyorum.

Related posts

MY24'te karbon gideriminin finanse edilmesi

Yollar boyunca Carbon180'in ödenek taleplerinin dökümü

MY24'te karbon gideriminin finanse edilmesi

Alyson Lee, yönetici devlet işleri danışmanı Federal hükümetin yıllık ödenek süreci, karbon dioksit giderimini (CDR) finanse etme çabalarımızın merkezinde yer alır. Carbon180 her yıl, gelecek yılın dolarının nereye akacağını yönlendirmeye yardımcı olmak için çeşitli kongre ofislerine talepler sunar.

Yavaş Erozyon: İnsanların Kariyerlerinde Boşa Harcadıkları Yolları Ortaya Çıkarma

Yavaş Erozyon: İnsanların Kariyerlerinde Boşa Harcadıkları Yolları Ortaya Çıkarma

Günümüzün hızlı tempolu ve rekabetçi dünyasında, kişinin kariyeri kişisel gelişim, finansal istikrar ve genel yaşam memnuniyetinde önemli bir rol oynamaktadır. Bununla birlikte, birçok kişi profesyonel yaşamlarında giderek tükenmekte olan amansız bir durgunluk ve tatminsizlik döngüsüne kapılmış durumda.

Work Week'te Öğrenme sandığınızdan daha önemli

Work Week'te Öğrenme sandığınızdan daha önemli

Çoğu zaman kendimizi, bizim için iyi olduğunu bildiğimiz şeyleri uygulamakta zorlanırken buluruz. Bir başkasına onu sevdiğimizi söylemekten bir korsan gibi konuşmayı hatırlamaya kadar, her zaman bu şeyleri zaten yaptıkları için bir günlük, haftalık veya aylık olaylara gerek olmadığını iddia edenler olacaktır.

Alan Adları Hakkında Bilgi Bulma

Brian P. Hogan'ın Küçük, Keskin Yazılım Araçları'ndan bir alıntı

Alan Adları Hakkında Bilgi Bulma

facebook.com'a bir talepte bulunduğunuzda, bilgisayarınız o bağlantıyı kurabilmesi için bu alan adını bir IP adresine çevirmek üzere alan adını arar.