How to use
./package.json
The scripts
define some PM2 commands according to different environments. And It'll exec different process file.
The scripts
use the same mode -- start | restart : [option]
.
Recognised type values are: prod, test, defalut is local.
You may need to optimize the new
scripts
for new env in ./package.json:11.
./process.json
You need to define the name
of apps.
It'll help you recognize your process among lots of PM2 process list.
You must optimize the
name
in ./process.dev.json:3 , ./process.prod.json:3 & ./process.test.json:3.
/server/config/app.config.ts
This file is order to make a distinction among many envs.
You need to set the unique port
and baseurl
by yourself.
Recognised env values are: production, test and local.
port
means the port of process that you just started the PM2 server.
baseurl
will be use in axios, and the axios will help you to generate promise based HTTP client for the browser and node.js**You must optimize the
name
in ./server/config/app.config.ts:7-21. **
./server/app.ts
This file is order to catch the error or undefined path and designate the global error-html to show logs or redirect to other url.
You must optimize every express middleware callback in ./server/app.ts:22-66 .
./server/config/init.ts
In this file, we set the type of template as html. We define the static middleware and the tag of the template, so that the express can find the static file and send the data to the specified template.
You may need to optimize the new
tag
in ./server/config/init.ts:14-17.Or need to optimize the new
static
in ./server/config/init.ts:29.
./rsync.sh
This file is just used for sync data from the node-server from local.
You must optimize the
sshremote
& the correctbase_path
in server in ./rsync.sh:3-4.
How to run
1.Use npm to install dependencies, make sure your node version >= 6.
npm install
2.Acooding to your environment, create your node-server by using PM2 in your server.
// first time to create the server
npm run start:[option]
// after update the new code
npm run restart:[option]
option: use to describe the public env.
Recognised type values are: prod, test and nothing
You can also create new env for your convince.
How to test
1.Open the compiler to compile typescript to normal javascript.
gulp build
2.Download the code from the server to local, so that you can test your express static middleware.
gulp -env [env] -project <project-name> -type [type]
env: use to describe the public env.
Recognised type values are: prod, test and so on.
type: use to describe the type of your project.
Recognised type values are: multi,and spa.