# expressjs-openwhisk **Repository Path**: mirrors_ibm/expressjs-openwhisk ## Basic Information - **Project Name**: expressjs-openwhisk - **Description**: Apache OpenWhisk Web action redirecting request to Express.js applications - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-23 - **Last Updated**: 2025-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README This project shows how to deploy new and existing Express.js applications to OpenWhisk. This tutorial takes less then 5 minutes to complete. # Prerequisites - Apache OpenWhisk - node.js - IBM Cloud account # Steps 1. Create new Express.js application 1. Change relative paths 1. Create OpenWhisk action 1. Deploy application 1. Test application ## 1. Create new Express.js application Open a terminal, and type ```bash $ npm install express-generator -g $ express --view=pug myexpressapp $ cd myexpressapp $ npm install ``` This creates a minimal Express.js application. To check it is working, start the application by typing the command `npm start` and load [http://localhost:3000]() in a browser. ## 2. Change relative paths The generated Express.js application expects resources to be installed in the domain root folder but by default Apache OpenWhisk web actions are served from a sub-directory. Change `views/layout.pug`: ```jade doctype html html head title= title if baseurl base(href=baseurl) link(rel='stylesheet', href='stylesheets/style.css') body block content ``` ## 3. Create OpenWhisk action Add `expressjs-openwhisk` module dependency in your project. ```bash $ npm install expressjs-openwhisk --save ``` Then create the Apache OpenWhisk action handling Web requests by forwarding them to `expressjs-openwhisk`. Create a file named `action.js` with this content: ``` const app = require('./app'); const forward = require('expressjs-openwhisk')(app); function main(request) { return forward(request); } exports.main = main; ``` In `package.json`, add the following entry: ```json { "main": "action.js", ... } ``` ## 4. Deploy application To deploy the application and dependencies on IBM Cloud, do: ```bash $ zip -r app.zip . $ wsk action update express app.zip --kind nodejs:6 --web raw \ -p baseurl https://openwhisk.ng.bluemix.net/api/v1/web/_/default/express/ ``` Replace `` and `` by your IBM Cloud organization and space, respectively. ## 5. Test application And finally test the application by opening `https://openwhisk.ng.bluemix.net/api/v1/web/_/default/express` in a browser # License [Apache 2.0](LICENSE.txt)