因公司vpn只能在ie里执行的缘故,需要将mac下编译后内容cp到虚拟机共享目录下,看效果,简单实用webpack到plugin钩子写了一个插件去执行shell脚本。 1、在webpack配置用引入插件 const cp = require("./你的目录/cp.js"); 2、在plugins数组中加入此控件并配置

调用

new cp( //copy[{from:"/Users/mazhenxiao/yuanyang/sinoocean/NationalMarketing/08_Code/Webapp/public",to:"/Volumes/sinoocean/public",arg:"-r"])//自定义插件
复制代码
参数名 参数
from copy自
to copy 到
arg "默认参数 -r 覆盖"

源码

/*** 处理执行cp到服务器发布*/
const fs = require("fs");
const childProcess = require("child_process");
const util = require("util");
const os = require('os');
let exec = childProcess.exec;
class cp {constructor(arg){this.list = arg||[];}apply(compiler){let th = this;compiler.plugin("done", (compilation)=>{setImmediate(arg=>{th.copy();})}); }copy(){let arr = [];let iswin = os.platform().includes("win32");this.list.forEach(parame=>{arr.push(new Promise((resolve,reject)=>{let str = `${iswin? "copy":"cp"} ${parame["arg"]? parame["arg"]:"-r"} ${parame["from"]} ${parame["to"]}`exec(str,arg=>{if(!arg){resolve()}else{reject();}})}))})Promise.all(arr).then(arg=>{console.log(arg);}).catch(e=>{// console.log(e)})}
}
module.exports = cp;
复制代码

webpack钩子调用shell笔记相关推荐

  1. Vim命令行模式调用shell命令方式(笔记)

    本文为阅读vim实用技巧时的一部分笔记 在vim中操作时,我们能很方便德调用shell命令.下面选取了最有用的一些调用外部命令的方式: :shell:启动一个shell(输入exit返回vim) :! ...

  2. awk,gawk调用shell,bash中的变量 笔记221106

    awk,gawk调用shell,bash中的变量 笔记221106 "'${变量名}'" 双 包 单 包 ${} 包 变量名 "'"${变量名}"'& ...

  3. Missing-Semester : The Shell 笔记

    Missing-Semester : The Shell 笔记 课程地址 视频 讲义 课程内容 由于我用的是 windows,可以安装一个 WSL 安装 Ubuntu 18.04 LTS.很多功能都可 ...

  4. java无阻塞执行脚本,JAVA调用Shell脚本-及阻塞的解决方法

    JAVA调用Shell脚本--及阻塞的解决办法 用java调用shell,使用 Process p=Runtime.getRuntime().exec(String[] cmd); Runtime.e ...

  5. python 调用shell命令的方法

    转载: https://www.cnblogs.com/thinker-lj/p/3860123.html https://www.cnblogs.com/wenwangt/p/4897961.htm ...

  6. Java调用 shell脚本阻塞

    Java在调用Shell时,要不断读取进程中标准输出和错误输出流的信息,否则缓冲区被写满就会造成子进程阻塞而无法继续运行下去,可起两个线程不断读取标准输出.错误流信息而不被阻塞 import java ...

  7. 从Ruby调用Shell命令

    如何从Ruby程序内部调用Shell命令? 然后如何将这些命令的输出返回到Ruby? #1楼 上面的答案已经很不错了,但是我真的很想分享以下摘要文章:" 在Ruby中运行Shell命令的6种 ...

  8. 基于sparksql调用shell脚本运行SQL

    [Author]: kwu 基于sparksql调用shell脚本运行SQL,sparksql提供了类似hive中的 -e  , -f ,-i的选项 1.定时调用脚本 #!/bin/sh # uplo ...

  9. python调用shell命令-Python调用shell命令常用方法(4种)

    方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256表示未找到,该方法适用于shell命令 ...

最新文章

  1. JS 处理Json 时间带T 时间格式
  2. HTML5怎样创建画布?
  3. java stream 求和_谈谈Java任务的并行处理
  4. SmartSVN for Mac 使用说明
  5. 387. First Unique Character in a String
  6. 最小编辑代价-golang
  7. wordcount.java_mapreduce中wordcount的java实现
  8. 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库
  9. python外星人入侵游戏图片_外星人入侵,使用python开发的2D游戏
  10. Clumsy Keke 三维数组模拟
  11. tablayout 动态改变标题_描点法画函数图像的动态演示——动态数学软件GeoGebra制作教程...
  12. Node.js 中 exports 和 module.exports 的区别
  13. 无纸化会议系统连接服务器失败,无纸化会议系统使用注意事项及注册/更新流程...
  14. windows环境开发,使用hbase报错。Could not locate executablenull\bin\winutils.exe in the Hadoop binaries
  15. java实现HTTPS单向认证TLS指定加密套件(文章很详细,好文章!)
  16. uniapp 旅游_uni-app旅游类跨平台APP制作实战教程
  17. 《让时间陪你慢慢变富》有感
  18. win8.1环境下硬盘安装centos6.5双系统
  19. 面试官问你什么是单点登录,把这篇甩给他!
  20. 小程序笔记(四)发表评论或者普通发帖

热门文章

  1. c++ 纯虚函数导出
  2. USACO-Section1.4 Barn Repair (贪心算法)
  3. 从零开始学PowerShell(5)自定义格式化信息
  4. 武器级工具包 Immunity Canvas 7.26 泄露(个人百度网盘)
  5. Azure系列1.1.2 —— 用于 IntelliJ 的 Azure 工具包的登录说明
  6. NPM和Yarn添加淘宝镜像
  7. .net大型分布式电子商务架构说明(转载来自头条)
  8. Linux Kernel File IO Syscall Kernel-Source-Code Analysis(undone)
  9. Windows Phone 7开发,进度条ProgressBar使用详解
  10. 什么是目标检测?有哪些应用?终于有人讲明白了