本文以安装第三方依赖emoji为例,介绍如何为您的Node.js代码安装依赖,打包并部署代码至函数计算。
准备工作
- 创建一个用于测试的代码目录,如 - mycode。- Linux或macOS系统 - 您可以执行 - mkdir -p /tmp/mycode创建。
- Windows系统 - 在任意位置新建文件夹,并将其命名为 - mycode即可。
 
- 在 - mycode目录下,创建- index.js或index.mjs文件。- 代码示例如下。 - ES模块说明- 此示例仅支持运行在Node.js 18及以上版本的运行时环境。 - // index.mjs 'use strict'; import * as emoji from 'node-emoji' export const handler = async (event, context) => { console.log('hello world'); return emoji.get(':unicorn:'); }- CommonJS模块- // index.js 'use strict'; var emoji = require('node-emoji') exports.handler = (event, context, callback) => { console.log('hello world'); callback(null, emoji.get(':unicorn:');); }
使用npm安装依赖并部署代码
前提条件
操作步骤
- 在 - mycode目录下执行- npm install node-emoji安装emoji依赖库到当前目录。
- 打包 - mycode目录下的所有文件。- Linux或macOS系统 - 进入 - mycode目录,执行- zip code.zip -r ./*。说明- 请确保您具有该目录的读写权限。 
- Windows系统 - 进入 - mycode目录,选中所有文件,单击鼠标右键,选择打包为ZIP包。
 说明- 请确保您创建的 - index.js文件位于包的根目录。
- 在函数计算控制台找到目标函数,然后在函数详情页面的右上角,单击上传代码上传您上一步打包的ZIP包。 
由于函数计算的运行环境是Linux系统,您在Windows系统或macOS系统安装emoji依赖库时如果带有二进制文件,会导致您的代码包上传到函数计算后运行失败。因此,建议您使用WebIDE打包函数第三方依赖或者使用Serverless devs工具安装依赖并部署项目。
使用Serverless devs工具安装依赖并部署项目
前提条件
操作步骤
- 执行 - cd /tmp/mycode进入- mycode目录。
- 新增 - s.yaml文件。- 编写文件内容示例如下。 - edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范 name: fcDeployApp # 项目名称 access: "default" # 密钥别名 services: fc-deploy-test: # 服务名称 component: fc # 组件名称 props: # 组件的属性值 region: cn-shanghai service: name: fctest description: 'test' internetAccess: true function: name: emoji description: this is a emoji runtime: nodejs14 codeUri: ./ handler: index.handler memorySize: 128 timeout: 6
- 新增 - package.json文件。- 编写文件内容如下。 - { "dependencies": { "node-emoji": "^1.11.0" } }
- 执行 - sudo s build --use-docker安装依赖。- 执行完成后,会在 - mycode目录下生成一个- .s目录,依赖被安装到- .s/build/artifacts/{serviceName}/{functionName}目录下。
- 执行 - sudo s deploy部署项目。- 执行完成后,即可部署函数到函数计算。 
更多信息
您也可以使用函数计算的层功能安装依赖,推荐您使用官方公共层或在线构建依赖层。具体操作,请参见以下文档。