This topic describes the Node.js runtimes that Function Compute supports for writing your function code.
Node.js runtimes
The following table lists the Node.js runtimes that are supported by Function Compute.
Version | Identifier | Operating system | Architecture |
Node.js 20.x | nodejs20 | Linux (Debian 10) | x86_64 |
Node.js 18.x | nodejs18 | Linux (Debian 10) | x86_64 |
Node.js 16.x | nodejs16 | Linux (Debian 9) | x86_64 |
Node.js 14.x | nodejs14 | Linux (Debian 9) | x86_64 |
Node.js 12.x | nodejs12 | Linux (Debian 9) | x86_64 |
Node.js 10.x | nodejs10 | Linux (Debian 9) | x86_64 |
Node.js 8.x | nodejs8 | Linux (Debian 9) | x86_64 |
Function Compute will soon stop supporting Node.js 4.4 and Node.js 6 according to the deprecation plan. For more information, see Runtime deprecation policy.
Specify an ECMAScript module as the handler
ECMAScript modules are supported by Function Compute in Node.js 18 and later. For Node.js 16 and earlier versions, Function Compute supports only CommonJS modules.
You can specify an ECMAScript module by using one of the following methods:
Specify
type
in thepackage.json
file of a function asmodule
. In this case, all.js
files are specified as ECMAScript modules.Use the
.mjs
file name extension. In this case,.mjs
files are regarded as ECMAScript modules, while.js
files are still regarded as CommonJS modules. You can mix ECMAScript modules and CommonJS modules by using both the.mjs
and.js
file extensions. By default,.mjs
files are treated as ECMAScript modules and.js
files are treated as CommonJS modules.
Built-in Node.js modules
In addition to the standard modules of Node.js, Function Compute provides commonly used modules for Node.js for you to reference. The following table lists these modules.
Node.js 20 and Node.js 18
Module | Description | Version |
co | 4.6.0 | |
gm | 1.25.0 | |
ali-oss | 6.19.0 | |
aliyun-sdk | 1.12.10 | |
alicloud/fc2 | 2.6.6 | |
tablestore | 5.4.1 | |
body | 5.1.0 | |
raw-body | 2.5.2 | |
ali-mns | 2.6.8 | |
alicloud/pop-core | 1.7.13 |
Node.js 16
Module | Description | Version |
co | 4.6.0 | |
gm | 1.23.1 | |
ali-oss | 6.17.1 | |
aliyun-sdk | 1.12.5 | |
alicloud/fc2 | 2.6.0 | |
tablestore | 5.2.1 | |
body | 5.1.0 | |
raw-body | 2.5.1 | |
ali-mns | 2.6.8 | |
alicloud/pop-core | 1.7.12 |
Node.js 14
Module | Description | Version |
co | 4.6.0 | |
gm | 1.23.0 | |
ali-oss | 6.6.0 | |
aliyun-sdk | 1.12.3 | |
alicloud/fc2 | 2.2.0 | |
tablestore | 5.0.7 | |
body | 5.1.0 | |
raw-body | 2.4.1 | |
ali-mns | 2.6.8 | |
alicloud/pop-core | 1.7.9 | |
alicloud/fnf | 1.1.0 |
Node.js 12
Module | Description | Version |
co | 4.6.0 | |
gm | 1.23.0 | |
ali-oss | 6.6.0 | |
aliyun-sdk | 1.12.3 | |
alicloud/fc2 | 2.2.0 | |
opencv | 7.0.0 | |
tablestore | 5.0.7 | |
body | 5.1.0 | |
raw-body | 2.4.1 | |
ali-mns | 2.6.8 | |
alicloud/pop-core | 1.7.9 | |
alicloud/fnf | 1.1.0 |
Node.js 10 and Node.js 8
Module | Description | Version |
co | 4.6.0 | |
gm | 1.23.0 | |
ali-oss | 4.10.1 | |
aliyun-sdk | 1.11.0 | |
alicloud/fc2 | 2.1.0 | |
opencv | 6.2.0 | |
tablestore | 4.2.0 | |
body | 5.1.0 | |
raw-body | 2.3.2 | |
ali-mns | 2.6.5 | |
alicloud/fnf | 1.1.0 |