Topik ini menjelaskan cara menginstal dependensi pihak ketiga untuk kode Node.js Anda, mengemas kode, dan menyebarkannya ke Function Compute. Dalam topik ini, pustaka dependensi emoji pihak ketiga digunakan sebagai contoh.
Persiapan
Buat direktori kode untuk pengujian dan tentukan nama untuk direktori tersebut. Dalam contoh ini,
mycodedigunakan.Linux dan macOS
Jalankan perintah
mkdir -p /tmp/mycodeuntuk membuat direktori.Windows
Buat folder dan beri nama
mycode.
Buat file
index.mjsatauindex.jsdi direktori mycode.Kode berikut menunjukkan sebuah contoh:
Modul ECMAScript
CatatanContoh ini hanya mendukung Node.js 18 atau yang lebih baru.
// index.mjs 'use strict'; import * as emoji from 'node-emoji' export const handler = async (event, context) => { console.log('hello world'); return emoji.get(':unicorn:'); }Modul CommonJS
// index.js 'use strict'; var emoji = require('node-emoji') exports.handler = (event, context, callback) => { console.log('hello world'); callback(null, emoji.get(':unicorn:')); }
Gunakan npm untuk menginstal dependensi dan menyebarkan kode
Prerequisites
npm telah diinstal di mesin lokal Anda, dan izin untuk menjalankan perintah npm telah diperoleh.
Fungsi Node.js dibuat di konsol Function Compute. Untuk informasi lebih lanjut, lihat Buat fungsi acara.
Procedure
Jalankan perintah
npm install node-emojidi direktorimycodeuntuk menginstal pustaka dependensi emoji ke direktori saat ini.Kemas semua file di direktori
mycode.Linux dan macOS
Pergi ke direktori
mycodedan jalankanzip code.zip -r ./*.CatatanPastikan Anda memiliki izin baca dan tulis pada direktori.
Windows
Pergi ke direktori
mycode, pilih semua file, klik kanan file, lalu kompres file menjadi file .zip.
CatatanPastikan file
index.jsyang Anda buat berada di direktori root dari paket.Di konsol Function Compute, temukan fungsi yang ingin Anda kelola. Di pojok kanan atas halaman detail fungsi, klik Upload Code dan unggah paket ZIP yang telah Anda siapkan.
Setelah kode diunggah, Anda dapat mengklik Test Function di tab Code untuk memeriksa apakah kode tersebut benar.
Function Compute berjalan di lingkungan Linux. Jika file biner disertakan saat Anda menginstal pustaka dependensi emoji di perangkat Windows atau macOS, paket kode gagal dijalankan.Function Compute Oleh karena itu, kami sarankan Anda menggunakan WebIDE untuk mengemas dependensi pihak ketiga atau menggunakan Serverless Devs untuk menginstal dependensi dan menyebarkan proyek. Untuk informasi lebih lanjut, lihat Gunakan WebIDE untuk mengemas dependensi pihak ketiga dari suatu fungsi dan Gunakan Serverless Devs untuk menginstal dependensi dan menyebarkan proyek.
Gunakan Serverless Devs untuk menginstal dependensi dan menyebarkan kode
Prerequisites
Serverless Devs dan dependensinya telah diinstal. Untuk informasi lebih lanjut, lihat Memulai Cepat.
Serverless Devs telah dikonfigurasi. Untuk informasi lebih lanjut, lihat Konfigurasikan Serverless Devs.
Procedure
Jalankan perintah
cd /tmp/mycodeuntuk pergi ke direktorimycode.Buat file
s.yaml.Kode sampel berikut memberikan contoh tentang cara mengedit file:
edition: 3.0.0 name: fcDeployApp access: "default" vars: # Variabel global. region: "cn-hangzhou" resources: hello_world: component: fc3 # Nama komponen. props: region: ${vars.region} # Untuk informasi tentang cara menggunakan variabel, kunjungi: https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC. functionName: "emoji" description: 'ini adalah emoji' runtime: "nodejs18" code: ./ handler: index.handler memorySize: 128 timeout: 30Tambahkan file
package.json.Kode sampel berikut memberikan contoh tentang cara mengedit file:
{ "dependencies": { "node-emoji": "^1.11.0" } }Jalankan
sudo s build --use-dockeruntuk menginstal dependensi.Setelah eksekusi selesai, direktori
.sdibuat di direktorimycode, dan dependensi diinstal di direktori.s/build/artifacts/{functionName}.Jalankan
sudo s deployuntuk menerapkan proyek.Setelah eksekusi, Anda dapat menyebarkan fungsi Anda ke Function Compute.
Catatan penting
Saat menggunakan runtime kustom untuk Node.js dan menentukan executable yang dikompilasi sebagai perintah startup, memodifikasi kode sumber langsung di WebIDE tidak akan berpengaruh, karena fungsi akan terus menjalankan executable yang sebelumnya dikompilasi. Untuk menerapkan perubahan kode, Anda harus memperbarui kode sumber secara lokal, mengkompilasi ulang dan mengemas executable, mengunggah paket yang diperbarui ke WebIDE, lalu menjalankan ulang fungsi.
Informasi lebih lanjut
Jika paket kode Anda terlalu besar, Anda dapat memisahkan dependensi, membuat layer, dan hanya mengunggah kode bisnis. Untuk informasi lebih lanjut, lihat topik-topik berikut: