Sejak Nrwl merilis dukungannya untuk aplikasi node, saya menantikan dukungan serupa untuk Fungsi Firebase. Saya bahkan telah membuat masalah di GitHub untuk itu. Pada saat penulisan ini masih terbuka, itulah mengapa saya memutuskan untuk membuat solusi saya sendiri.
Saat Anda menginisialisasi Firebase Functions dengannya, firebase inititu membuat subdirektori fungsi dengan miliknya sendiri package.jsondan node_modules. Itu tidak baik. Kami ingin berbagi kode dengan fungsi dan mengelolanya menggunakan Nx.
package.jsondannode_moduleslibsKami menganggap Anda memiliki Proyek Nrwl yang berfungsi dengan aplikasi Angular. Anda juga disarankan untuk memiliki akun Firebase dan memahami apa itu Fungsi Firebase.
Jika Anda belum melakukannya, instal firebase-toolsdan login:
yarn global add firebase-tools
firebase login
{
"projects": {
"default": "your-firebase-project-name"
}
}
Seperti yang dinyatakan dalam tujuan, Fungsi harus didasarkan node-app. Untuk melakukannya, buat dengan node-appnama "fungsi":
ng add @nrwl/node # Adds Node capabilities
ng g @nrwl/node:application functions
Instal dependensi Firebase Functions
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!');
});
Untuk menyiapkan Fungsi Firebase agar dapat dipahami, buat firebase.jsondi direktori root:
{
"functions": {
"predeploy": [
"yarn lint functions",
"yarn build functions --prod"
],
"source": "/"
}
}
sourcemenunjuk ke akar proyek. Karena kami hanya memiliki satu package.jsondan itu ada di direktori root, itu perlu diarahkan ke sana."main": "dist/apps/functions/main.js",
"engines": {
"node": "10"
},
enginememberi tahu Firebase tentang versi node mana yang harus dijalankan. Pada saat penulisan node v10adalah yang terbaru yang didukung. Anda juga TIDAK BISA menentukan versi yarnatau npmversi di sini karena akan bertentangan dengan firebase.Melayani Fungsi Firebase sedikit lebih rumit daripada aplikasi node pada umumnya. Tambahkan ketergantungan dev ini:
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 - menjalankan fungsi shell secara lokalyarn firebase:deploy --only functions - menerapkan fungsiPada saat penulisan firebase serveberfungsi hanya dari distdirektori. Untuk membuatnya bekerja, kami menggunakan concurrentlyuntuk menjalankan builddengan watchflag, dan serve"secara bersamaan".
Ini cukup banyak mencakupnya. Cara mudah dan elegan untuk menggabungkan Fungsi Firebase ke dalam proyek Nx. Kode sumber untuk ini dapat ditemukan di sini . Namun itu dikembangkan secara aktif jadi jika Anda ingin meninjau versi INI, periksa komit ini .
Minggu ini, saya menerima email dari anggota daftar email harian. Mereka ingin tahu: Sumber daya apa yang Anda kunjungi setiap hari, setiap minggu, dan setiap bulan? Pertanyaan bagus! Saya senang untuk mencoba membagikan beberapa wawasan tentang alur kerja saya & sumber daya teratas yang saya gunakan.
Tujuan dari rangkaian blog ini adalah untuk mendalami library Lit dan mendapatkan pemahaman komprehensif tentang fitur uniknya dan bagaimana Lit membedakan dirinya dari library dan framework lain di pasar. Serial ini dibagi menjadi tiga bagian, mencakup topik-topik seperti 1.
Minggu lalu saya melihat siaran pers, dikirim melalui PressGazette (situs web berita media Inggris). Artikel tersebut mengumumkan bahwa Acast, perusahaan hosting dan periklanan podcast Scandi, akan memimpin konsorsium penerbit "mungkin yang paling berpengaruh" dalam podcasting.
Ketika Anda tumbuh dewasa, Anda cenderung diberi tahu bahwa dunia adalah apa adanya dan hidup Anda hanya untuk menjalani hidup Anda di dunia, tidak pernah mempertaruhkan hidup Anda, ikuti saja jalan yang ditetapkan dan pada akhirnya mati, dan cobalah untuk tidak melakukannya. hancurkan tembok terlalu banyak. Tapi itu kehidupan yang sangat terbatas.
Pendahuluan:Selamat datang, para pembaca yang pemberani, dalam sebuah perjalanan yang akan membawa kita ke kedalaman tergelap planet kita. Di blog ini, kami menyelidiki dunia penuh teka-teki Palung Mariana, mengungkap rahasianya yang tersembunyi dan mengungkap kebenaran mengerikan yang ada di bawah permukaannya.
Beralih ke karir baru bisa sangat menantang jika Anda mencoba melakukannya sendiri. Penting untuk menemukan mitra akuntabilitas yang memiliki tingkat pembelajaran yang sama dengan Anda, yang memiliki tujuan, keuletan, dan dorongan yang sama.