在前端开发过程中,我们不仅需要将代码提交到 git 仓库中进行版本管理,还需要将代码部署到服务器上进行线上测试或者是发布。在这个过程中,使用 sftp 协议进行文件上传是比较常见的方式之一。本文将介绍一个 npm 包 sftp-deploy 的使用教程,帮助您在本地快速地将代码部署到服务器上。
什么是 sftp-deploy
sftp-deploy 是一个 npm 包,用于将本地文件上传到远程服务器上。sftp-deploy 支持文件的增量上传和删除,可以帮助您快速完成代码部署的工作。
如何使用 sftp-deploy
安装 sftp-deploy
使用 npm 命令安装 sftp-deploy:
npm install sftp-deploy
配置 sftp-deploy
在项目根目录中创建 deploy.json 文件,用于配置 sftp-deploy 的上传信息。
示例 deploy.json 配置:
-- -------------------- ---- ------- - ------- - ------- ------------ ------- --- ----------- ------- ----------- ------- ------------- ----------------- -- --------- - --------- -------- ------------- --- - -
其中,sftp 部分是服务器的配置信息,upload 部分是上传的配置信息。具体参数说明如下:
- sftp.host: 服务器的地址
- sftp.port: 服务器的端口号,默认为 22
- sftp.username: 服务器用户名
- sftp.password: 服务器密码
- sftp.remotePath: 上传到服务器的目标路径
- upload.source: 待上传文件或文件夹的路径
- upload.serverPath: 上传到服务器的目标路径,此处为根目录
添加上传命令
在 package.json 文件中的 script 中添加上传命令:
{ "scripts": { "deploy": "sftp-deploy -c deploy.json -v" } }
deploy.json 为上传的配置文件的路径,-v 参数为开启 verbose 模式,用于打印上传的详细信息。添加命令后,在终端中使用以下命令进行上传:
npm run deploy
sftp-deploy 进阶使用
sftp-deploy 还支持以下高级功能:
忽略上传指定文件
在源文件中添加 .sftpignore 文件,用于指定忽略上传的文件,格式为一行一个文件名或目录名。
示例 .sftpignore 文件:
node_modules/ package-lock.json
指定密钥文件
在 deploy.json 文件中添加 sftp.privateKey 参数,用于指定密钥文件的路径。
-- -------------------- ---- ------- - ------- - ------- ------------ ------- --- ----------- ------- ------------- --------------- ------------- ----------------- - -
指定 ssh 连接参数
在 deploy.json 文件中添加 sftp.sshOptions 参数,用于指定 ssh 连接参数。
-- -------------------- ---- ------- - ------- - ------- ------------ ------- --- ----------- ------- ----------- ------- ------------- ------------------ ------------- - ------------------------ ----- - - -
代码示例
一个完整的可上传的示例:
├── deploy.json ├── dist │ ├── index.html │ └── main.js ├── node_modules ├── package-lock.json └── package.json
deploy.json 文件:
-- -------------------- ---- ------- - ------- - ------- ------------ ------- --- ----------- ------- ----------- ------- ------------- ----------------- -- --------- - --------- -------- ------------- --- - -
package.json 文件:
-- -------------------- ---- ------- - ------- ------------------- ---------- -------- ---------- - --------- ------------ -- ----------- --- -- --------------- - -------------- -------- - -
总结
sftp-deploy 是一个非常方便的 npm 包,能够极大地帮助前端开发人员快速部署代码到远程服务器上。本文介绍了 sftp-deploy 的安装和配置过程,以及常用高级功能和一个可上传的代码示例。希望本文能够为读者带来一些启发和指导,让您的前端开发更加高效。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005595781e8991b448d6bb7