Nrwl , düğüm uygulamaları desteğini yayınladığından beri Firebase Functions için benzer desteği bekliyordum. Bunun için GitHub'da bir sorun bile oluşturdum . Yazım sırasında hala açık, bu yüzden kendi çözümümü yaratmaya karar verdim.
Firebase Functions'ı onunla başlattığınızda firebase init, kendi package.jsonve ile işlevler alt dizini oluşturur node_modules. Bu iyi değil. Kodu işlevlerle paylaşmak ve Nx kullanarak yönetmek istiyoruz.
package.jsonvenode_moduleslibsAngular uygulamasıyla çalışan bir Nrwl Projeniz olduğunu varsayıyoruz. Ayrıca Firebase hesabınızın olması ve Firebase İşlevlerinin ne olduğunu anlamanız önerilir.
Henüz yapmadıysanız, kurun firebase-toolsve giriş yapın:
yarn global add firebase-tools
firebase login
{
"projects": {
"default": "your-firebase-project-name"
}
}
Hedefte belirtildiği gibi, İşlevler temel alınacaktır node-app. Bunu yapmak için, node-appadlandırılmış "işlevler" oluşturun:
ng add @nrwl/node # Adds Node capabilities
ng g @nrwl/node:application functions
Firebase Functions bağımlılıklarını yükleyin
yarn add firebase firebase-admin firebase-functions
import * as functions from 'firebase-functions';
// // Start writing Firebase Functions
// // https://firebase.google.com/docs/functions/typescript
//
export const helloWorld = functions.https.onRequest((request, response) => {
response.send('Hello from Firebase!');
});
Firebase İşlevlerini anlaşılacak şekilde ayarlamak firebase.jsoniçin kök dizinde oluşturun:
{
"functions": {
"predeploy": [
"yarn lint functions",
"yarn build functions --prod"
],
"source": "/"
}
}
sourceprojenin köküne işaret eder. Sadece bir tane package.jsonolduğu ve kök dizinde olduğu için orayı göstermesi gerekiyor."main": "dist/apps/functions/main.js",
"engines": {
"node": "10"
},
engineFirebase'e hangi düğüm sürümünde çalıştırılması gerektiğini söylüyor. Yazma anında node v10desteklenen en yenisidir. Ayrıca , firebase ile çakışacağından burada sürüm yarnveya npmsürüm belirtemezsiniz.Firebase İşlevlerinin sunulması, tipik düğüm uygulamasından biraz daha karmaşıktır. Bu geliştirici bağımlılığını ekleyin:
yarn add concurrently -D
"firebase:serve": "concurrently --kill-others \"yarn run build functions --watch\" \"firebase serve --only functions\"",
"firebase:shell": "concurrently --kill-others \"yarn run build functions --watch\" \"firebase functions:shell\" --raw",
"firebase:deploy": "firebase deploy",
yarn firebase:shell - yerel olarak işlevler kabuğunu çalıştıryarn firebase:deploy --only functions - işlevleri dağıtmaYazma anında firebase serveyalnızca dizinden işlevlere hizmet eder dist. concurrentlyÇalışması buildiçin watchbayrakla ve serve"eşzamanlı olarak" koşmak için kullanırız .
Bu hemen hemen onu kapsar. Firebase Functions'ı Nx projesine dahil etmenin kolay ve zarif yolu. Bunun için kaynak kodu burada bulunabilir . Bununla birlikte, aktif olarak geliştirildiğinden, BU sürümü incelemek istiyorsanız, bu işlemi kontrol edin .
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.
Bu blog dizisinin amacı, Lit kitaplığının derinliklerine inmek ve benzersiz özelliklerini ve kendisini piyasadaki diğer kitaplıklardan ve çerçevelerden nasıl ayırdığını kapsamlı bir şekilde anlamaktır. Seri, 1 gibi konuları kapsayan üç bölüme ayrılmıştır.
Günümüzün birbirine bağlı dünyasında, siber saldırı tehdidi her zamankinden daha yaygın. Siber suçlular ve ulus-devlet aktörleri sürekli olarak güvenlik açıklarından yararlanmaya ve değerli verileri çalmaya çalışarak her büyüklükteki kuruluş için önemli bir risk oluşturuyor.
Güneşin ilk ışınları düzlüklerdeki buzlu çimleri aydınlatırken, batının engebeli tepelerinde parıldayan altın rengi bir sabah. Simsiyah ve iri, sakin bir Angus sığır sürüsü, hepsinin iyi bildiği bir yere giden ıssız bir patikadan aşağı inerken güneşin doğuşuna karşı siluet oluşturuyor; kahvaltı barı.
Belirsizliği önlemek için aşağıdaki terimler kullanılacaktır; Doğrulayıcı; Web sitesine giriş yapmak için kullanılan cep telefonu; Kullanıcının oturum açma isteği Hizmetini yapmak için kullandığı web sitesi veya uygulama; Verilen hizmeti sağlayan satıcı, örn.
Geçenlerde dünyanın en büyük profesyonel sosyal ağı olan Linkedin'deydim ve dikkatimi çeken, takip ettiğim serbest tasarımcıların gönderilerini buldum. Hepsi uçaklardan, dizüstü bilgisayarlarıyla sahilden, yüzme havuzlarından ve muhteşem manzaralı ofislerden fotoğraflar yayınladılar.