使用ftp-deploy实现项目打包完成后自动上传到服务器
1 |
npm install ftp-deploy --save-dev |
在./build下新建ftp.js文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
const FtpDeploy = require('ftp-deploy'); const ftpServ = new FtpDeploy(); let config = { user: "username", // 用户名 password: "password", // 密码 host: "host", // ftp 主机地址 port: 21, // 端口 localRoot: './../dist', // 本地资源路径 remoteRoot: '/htdocs/phpcrm/dist/', // 远程资源路径 include: ['*', '**/*'], // 包含文件 exclude: ['dist/**/*.map'], // 排除文件 deleteRemote: true, // 上传前是否删除 forcePasv: true // 主动模式/被动模式 }; // 上传完成后回调 ftpServ.deploy(config) .then(res => { // 上传成功 console.log('finished:', res); return false; }) .catch(err => { // 上传失败 console.log(err); return false; }); |
编辑package.json文件
1 2 3 4 |
"scripts": { "upload": "node build/ftp.js", ... }, |
部署:
npm run build
npm run upload
也可以写成这样,在打包完成后自动上传
1 2 3 4 |
"scripts": { "build": "node build/build.js && node build/ftp.js", ... }, |
如果嫌英文文档麻烦可以试试我这款,基于promise-ftp开发,使用简单。
https://github.com/acccccccb/ftp-auto-deploy
https://gitee.com/GLUESTICK/ftp-auto-deploy
文章评论 2
竹音林 发表于2020-02-26 07:47 |
ReferenceError: reentry is not defined
张先生 发表于2021-03-31 18:01
@竹音林 截图看看