This topic describes how to deploy an Express application to Function Compute. Function Compute provides a method different from traditional deployment methods. You can deploy a traditional Express application to Function Compute and use the application for production without performing operations such as purchasing a server. The deployed Express application can use the auto scaling, pay-as-you-go, and O&M-free features of Function Compute.

Prerequisites

The following operations are complete:
Notice

The content about how to use Funcraft to migrate an application from a traditional framework is no longer maintained. We recommend that you use Serverless Devs to migrate relevant frameworks to Function Compute.

For more information about how to migrate Function Compute-related resources from Funcraft to Serverless Devs, see Migrate resources from Funcraft to Serverless Devs.

For more information about how to use Serverless Devs to migrate an application from a web framework, see Use Serverless Devs to migrate web frameworks.

We apologize for any inconvenience caused.

Background information

Express is a minimal and flexible Node.js web application framework that provides a set of robust features to help you create various web and mobile applications.

Procedure

  1. Run the following command to create an Express project:
    npx express-generator

    For more information, see Express application generator. Alternatively, you can create a simple Hello world example by performing the steps officially described. If an Express project already exists, skip this step.

  2. Run the following command to open the created sample project or an existing project:
    cd <project-name>
  3. Run the following command to install dependencies:
    npm install
  4. Run the following command to run the project:
    • macOS and Linux
      DEBUG=myapp:* npm start
    • Windows
      set DEBUG=myapp:* & npm start
  5. Run the fun deploy -y command to deploy the application to Function Compute.
    fun deploy -y
    The following result is returned:
    current folder is not a fun project.
    Generating /Users/txd123/Desktop/Express/bootstrap...
    Generating template.yml...
    Generate Fun project successfully!
    ========= Fun will use 'fun deploy' to deploy your application to Function Compute! =========
    using region: cn-qingdao
    using accountId: ***********3743
    using accessKeyId: ***********Ptgk
    using timeout: 60
    
    Collecting your services information, in order to caculate devlopment changes...
    
    Resources Changes(Beta version! Only FC resources changes will be displayed):
    ...  ...  ...  ...
                   trigger httpTrigger deploy success
           function Express deploy success
    service Express deploy success
    
    Detect 'DomainName:Auto' of custom domain 'Domain'
    Request a new temporary domain ...
    The assigned temporary domain is 15795585-XXX.test.functioncompute.com, expired at 2020-04-12 10:46:25, limited by 1000 per day.
    Waiting for custom domain Domain to be deployed...
    custom domain Domain deploy success

    After the application is deployed, you can check logs to find the temporary domain name that is generated by Function Compute. You can use the temporary domain name to access the deployed application.

    Note The temporary domain name is used only for demonstration and development purposes. It is valid for a limited period of time. You must use a domain name that has obtained an Internet Content Provider (ICP) filing from Alibaba Cloud for production. For more information, see Configure a custom domain name.