扫码一下
查看教程更方便
PM2 可以使用 pm2 serve
功能非常轻松地提供静态文件。 它支持从指定文件夹提供原始文件,或者您可以使用它提供 SPA(单页应用程序)。
使用简单的命令通过 http 提供你的静态文件(如前端应用程序):
$ pm2 serve <path> <port>
如果不指定<path>
,将使用当前文件夹,对于端口,默认值为 8080
。你还可以使用与普通应用程序相同的选项,如 --name
或 --watch
。
我们在 workspace/node/static
目录中新建 index.html
文件,内容如下
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>迹忆客(jiyik.com)</title> </head> <body> <h1>我的 pm2 serve 静态文件</h1> </body> </html>
使用下面命令开启服务
$ pm2 serve ./static 8081
打开浏览器,地址栏输入 http://127.0.0.1:8081/index.html
结果如下
您可以在 process 文件中声明您希望提供一个特殊的目录:
process.js
module.exports = { script: "serve", env: { PM2_SERVE_PATH: './static', PM2_SERVE_PORT: 80811 }
只需要在 env
变量中添加 PM2_SERVE_PATH
和 PM2_SERVE_PORT
来指定路径和端口,默认与CLI相同。
要自动将所有查询重定向到 index.html,请使用 --spa
选项:
$ pm2 serve --spa
也可以通过 process 文件
module.exports = {
script: "serve",
env: {
PM2_SERVE_PATH: './static',
PM2_SERVE_PORT: 8081,
PM2_SERVE_SPA: 'true',
PM2_SERVE_HOMEPAGE: './index.html'
}
}
要基本保护对公共文件的访问,可以使用 --basic-auth-username
和 --basic-auth-password
:
$ pm2 serve --basic-auth-username <username> --basic-auth-password <password>
也可以通过 process 文件
module.exports = {
script: "serve",
env: {
PM2_SERVE_PATH: './static',
PM2_SERVE_PORT: 8081,
PM2_SERVE_BASIC_AUTH: 'true',
PM2_SERVE_BASIC_AUTH_USERNAME: 'example-login',
PM2_SERVE_BASIC_AUTH_PASSWORD: 'example-password'
}
}