Topik ini menjelaskan cara menginstal dependensi pihak ketiga untuk kode Node.js Anda, mengemas kode, dan menerapkannya 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.
Di dalam direktori
mycode, buat fileindex.jsatau index.mjs.Contoh kode:
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 menerapkan kode
Prerequisites
npm sudah terinstal di mesin lokal Anda, dan izin untuk menjalankan perintah npm telah diperoleh.
Fungsi Node.js dibuat di Function Compute console. Untuk informasi lebih lanjut, lihat Buat Fungsi.
Procedure
Jalankan perintah
npm install node-emojidi direktorimycodeuntuk menginstal pustaka dependensi emoji ke direktori saat ini.Kemas 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 tersebut, lalu kompres file ke dalam paket ZIP.
CatatanPastikan bahwa file
index.jsyang Anda buat berada di direktori root paket.Di Function Compute console, temukan fungsi yang diinginkan. Di pojok kanan atas halaman detail fungsi, klik Upload Code untuk mengunggah paket ZIP.
Runtimes dari Function Compute menggunakan sistem operasi Linux. Jika Anda menginstal pustaka dependensi emoji di sistem operasi Windows atau macOS dan pustaka tersebut berisi file biner, kode Anda gagal berjalan setelah diunggah ke Function Compute. Oleh karena itu, kami menyarankan Anda menggunakan WebIDE untuk mengemas dependensi pihak ketiga atau menggunakan Serverless Devs untuk menginstal dependensi dan menerapkan proyek. Untuk informasi lebih lanjut, lihat Gunakan WebIDE untuk Mengemas Dependensi Pihak Ketiga Suatu Fungsi dan Gunakan Serverless Devs untuk Menginstal Dependensi dan Menerapkan Proyek.
Gunakan Serverless Devs untuk menginstal dependensi dan menerapkan proyek
Before you start
Procedure
Jalankan perintah
cd /tmp/mycodeuntuk pergi ke direktorimycode.Buat file
s.yaml.Kode sampel berikut memberikan contoh file tersebut:
edition: 1.0.0 # Versi spesifikasi YAML. Versi ini sesuai dengan versioning semantik. name: fcDeployApp # Nama proyek. access: "default" # Alias kunci. services: fc-deploy-test: # Nama layanan. component: fc # Nama komponen. props: # Nilai atribut komponen. region: cn-shanghai service: name: fctest description: 'test' internetAccess: true function: name: emoji description: ini adalah emoji runtime: nodejs14 codeUri: ./ handler: index.handler memorySize: 128 timeout: 6Tambahkan file
package.json.Kode sampel berikut memberikan contoh file tersebut:
{ "dependencies": { "node-emoji": "^1.11.0" } }Jalankan
sudo s build --use-dockeruntuk menginstal dependensi.Setelah eksekusi selesai, direktori
.sakan dibuat di direktorimycode, dan dependensi diinstal di direktori.s/build/artifacts/{serviceName}/{functionName}.Jalankan
sudo s deployuntuk menerapkan proyek.Setelah eksekusi, Anda dapat menerapkan fungsi ke Function Compute.
Informasi lebih lanjut
Anda juga dapat menggunakan lapisan dari Function Compute untuk menginstal dependensi. Kami menyarankan Anda menggunakan lapisan umum resmi atau membangun lapisan dependensi secara online. Untuk informasi lebih lanjut, lihat topik-topik berikut: