npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@serverless/tencent-egg

v1.0.7

Published

Tencent Cloud Egg.js Serverless Component

Downloads

50

Readme

Serverless Egg Tencent Cloud

Tencent Egg.js Serverless Component

npm NPM downloads

简体中文 | English

Introduction

Egg.js Serverless Component for Tencent Cloud.

Content

  1. Prepare
  2. Install
  3. Create
  4. Configure
  5. Deploy
  6. Remove

0. Prepare

Init Egg Project

$ mkdir egg-example && cd egg-example
$ npm init egg --type=simple
$ npm i

Change Egg Config

When cloud funtion executing, only /tmp folder is writable, so we need change the folder of logging for egg.js, then we change the configuration in config/config.default.js as below:

const config = (exports = {
  env: 'prod', // prod is recommended
  rundir: '/tmp',
  logger: {
    dir: '/tmp'
  }
})

1. Install

Install the Serverless Framework globally:

$ npm install -g serverless

2. Create

In project root, create the following simple boilerplate:

$ touch serverless.yml
$ touch .env           # your Tencent api keys

Add the access keys of a Tencent CAM Role with AdministratorAccess in the .env file, using this format:

# .env
TENCENT_SECRET_ID=XXX
TENCENT_SECRET_KEY=XXX
  • If you don't have a Tencent Cloud account, you could sign up first.

3. Configure

# serverless.yml

MyComponent:
  component: '@serverless/tencent-egg'
  inputs:
    region: ap-guangzhou
    functionName: egg-function
    runtime: Nodejs8.9
    code: ./
    functionConf:
      timeout: 10
      memorySize: 128
      environment:
        variables:
          TEST: vale
      vpcConfig:
        subnetId: ''
        vpcId: ''
    apigatewayConf:
      protocols:
        - https
      environment: release

Notice: Now, runtime is default Nodejs8.9, for deployed project using Nodejs8.9, should set runtime to Nodejs8.9 manually for updating.

4. Deploy

$ sls --debug

  DEBUG ─ Resolving the template's static variables.
  DEBUG ─ Collecting components from the template.
  DEBUG ─ Downloading any NPM components found in the template.
  DEBUG ─ Analyzing the template's components dependencies.
  DEBUG ─ Creating the template's components graph.
  DEBUG ─ Syncing template state.
  DEBUG ─ Executing the template's components graph.
  DEBUG ─ Compressing function egg-function file to /Users/yugasun/Desktop/Develop/serverless/tencent-egg/example/.serverless/egg-function.zip.
  DEBUG ─ Compressed function egg-function file successful
  DEBUG ─ Uploading service package to cos[sls-cloudfunction-ap-guangzhou-code]. sls-cloudfunction-default-egg-function-1584348537.zip
  DEBUG ─ Uploaded package successful /Users/yugasun/Desktop/Develop/serverless/tencent-egg/example/.serverless/egg-function.zip
  DEBUG ─ Creating function egg-function
  egg-function [████████████████████████████████████████] 100% | ETA: 0s | Speed: 4422.09k/s
  DEBUG ─ Updating code...
  DEBUG ─ Updating configure...
  DEBUG ─ Created function egg-function successful
  DEBUG ─ Setting tags for function egg-function
  DEBUG ─ Creating trigger for function egg-function
  DEBUG ─ Deployed function egg-function successful
  DEBUG ─ Starting API-Gateway deployment with name ap-guangzhou-apigateway in the ap-guangzhou region
  DEBUG ─ Using last time deploy service id service-jkcevoqw
  DEBUG ─ Updating service with serviceId service-jkcevoqw.
  DEBUG ─ Endpoint ANY / already exists with id api-et0yjwci.
  DEBUG ─ Updating api with api id api-et0yjwci.
  DEBUG ─ Service with id api-et0yjwci updated.
  DEBUG ─ Deploying service with id service-jkcevoqw.
  DEBUG ─ Deployment successful for the api named ap-guangzhou-apigateway in the ap-guangzhou region.

  MyEgg:
    functionName:        egg-function
    functionOutputs:
      ap-guangzhou:
        Name:        egg-function
        Runtime:     Nodejs8.9
        Handler:     serverless-handler.handler
        MemorySize:  128
        Timeout:     10
        Region:      ap-guangzhou
        Namespace:   default
        Description: This is a template function
    region:              ap-guangzhou
    apiGatewayServiceId: service-jkcevoqw
    url:                 https://service-jkcevoqw-1251556596.gz.apigw.tencentcs.com/release/
    cns:                 (empty array)

  23s › MyEgg › done

Notice: sls is short for serverless command.

 

5. Remove

$ sls remove --debug

  DEBUG ─ Flushing template state and removing all components.
  DEBUG ─ Removed function egg-function successful
  DEBUG ─ Removing any previously deployed API. api-et0yjwci
  DEBUG ─ Removing any previously deployed service. service-jkcevoqw

  10s › MyEgg › done

Notice!!!

After egg project initialed, it will create app/public directory automatically. But when deploying, because it is empty, so this directory will not be uploaded. So when egg application start up, it will try to create app/public directory, but it can not write to it. So please create empty file .gitkeep in app/public directory.

More Components

Checkout the Serverless Components repo for more information.