该插件可以帮助你将打包后的文件自动上传到服务器并进行部署。
该插件本质上是通过koa-static-history
创建一个静态服务脚本,并通过pm2
命令执行该脚本。也就是说你的服务器必须有安装有pm2
。
npm i koa-deploy-webpack-plugin -D
yarn add koa-deploy-webpack-plugin -D
ssh
:通过该选项进行ssh连接的配置。该插件中ssh的连接使用的是node-ssh
中的ssh.connect
进行连接。可以通过node-ssh 查看该选项的其他配置。project
:配置项目名称,项目存储路径,项目运行端口号。compress
:对文件进行压缩。内部使用的是compress-webpack-plugin
进行文件压缩,默认会开启gizp压缩。如果想要进行更加详细的配置,可以查看compress-webpack-plugin。staticConfig
:对静态服务进行配置。例如配置开启history模式,配置文件的缓存时间等等。可以如果想要进行更加详细的配置,可以查看koa-sents。
const KoaDeployWebpackPlugin = require("koa-deploy-webpack-plugin");
module.exports = {
output: {
clean: true,
},
plugins: [
new HtmlWebpackPlugin(),
new KoaDeployWebpackPlugin({
ssh: {
host: "", // 你的服务器地址,例如 111.111.111.111
port: 22, // ssh连接的端口号,默认为22
username: "root", // 连接服务器的用户名,默认为root
password: "",
},
project: {
name: "cf_deploy_project", // 你的项目目录名, 默认为cf_deploy_project
path: "/", // 项目存放于服务器的位置,默认为/
port: 8080, // 项目运行的端口号,默认为8080
},
compress: {
test: /\.(css|js)$/i,
},
staticConfig: {
maxage: { // 设置缓存时间
html: 0,
js: 100000,
},
},
}),
],
};