# publish-tools **Repository Path**: github-29727412/publish-tools ## Basic Information - **Project Name**: publish-tools - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-01-16 - **Last Updated**: 2024-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 前端自动化构建打包上传工具 [![NPM version][npm-image]][npm-url] [![Known Vulnerabilities][snyk-image]][snyk-url] [![npm download][download-image]][download-url] ![NPM](https://img.shields.io/npm/l/publish-tools) [npm-image]: https://img.shields.io/npm/v/publish-tools.svg?style=flat-square [npm-url]: https://npmjs.org/package/publish-tools [snyk-image]: https://snyk.io/test/npm/publish-tools/badge.svg?style=flat-square [snyk-url]: https://snyk.io/test/npm/publish-tools [download-image]: https://img.shields.io/npm/dm/publish-tools.svg?style=flat-square [download-url]: https://npmjs.org/package/publish-tools ## 安装 publish-tools `yarn add publish-tools --dev` ## 使用 1. package.json 的 scripts 中添加 ```json "scripts": { "publish:test": "publishTools publish" } ``` 2. 在根目录下添加 publish.config.js ```js module.exports = { option: { dev: { script: `npm run build:dev1`, //执行打包命令 localDir: "./dist", // 本地上传的文件夹 remote: { // 单服务器部署 remoteDir: "/home/test", //服务器部署地址 host: "", username: "", passdword: "", beforeUploadCommand: "", // 上传前 执行服务器 command cwd 为remoteDir afterTaskCommand: "", // 任务结束后 执行服务器 command cwd 为remoteDir }, }, dev2: { script: `npm run build:dev2`, localDir: "dist", remote: [ // 多服务器部署 { remoteDir: "", host: "", username: "", passdword: "", }, { remoteDir: "", host: "", username: "", passdword: "", }, ], }, }, logs: true, // 打印详细日志 zip: true, // zip传输 parallel: true, // 并行传输 多个服务器才有用 }; ``` 3. 执行命令`npm run publish:test` ## 执行流程 `执行打包命令` => `打包zip` => `使用node-ssh连接服务器` => `依次上传本地dist目录下zip` => `解压zip` => `删除本地、远程zip`