vue打包后自动上传打包文件至服务器

1、安装 npm install scp2
2、在build/build.js 文件内引入插件
 var client = require (' scp2 '
3、在打包成功回调函数中添加
client.scp('本地目录', {  //本地目录是指打包路径
  host: '服务器Ip', 
  username: '账号',
  password: '密码',
  path: '服务器端目录'
  }, function (err) {
  if (err) {
    console.log(err)
  } else {
    console.log('文件上传完毕!\n')
  }
  })
注:以上操作如果上传git则会暴露服务器信息等敏感信息
优化(不暴露服务器等敏感信息)

1、在packjson.js的scripts中添加buildUpload的命令,在build/build.js文件中进行判断当执行的命令为buildUpload时则打包并上传服务器,否则只做打包操作
注:获取当前执行的命令 process.env.npm_lifecycle_event

  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "unit": "jest --config test/unit/jest.conf.js --coverage",
    "e2e": "node test/e2e/runner.js",
    "test": "npm run unit && npm run e2e",
    "build": "node build/build.js",
    "buildUpload": "node build/build.js"
  },

2、新建build/build.js同层级的serves.js文件,文件中抛出服务器信息:服务器地址、用户名、密码、服务器文件地址
注意:serves.js不要上传git,防止隐私信息泄漏,不上传git可以在.gitignore文件中添加/build/serves.js

serves.js
 exports.servesUser = function () {
    var user = {  //本地目录是指打包路径
          host: '', //服务器地址
          username: '',//服务器用户名
          password: '',//服务器密码
          path: ''//服务器文件地址
          }
  
    return user
  }

修改后的代码:

	//打包完成后自动上传至服务器的文件地址
    // 判断当命令为打包并上传时才执行自动上传命令
    if(process.env.npm_lifecycle_event=='buildUpload'){
      var client = require('scp2')//自动上传打包文件
      var serves = require('./serves')//获取服务器信息,服务器地址、用户名、密码、服务器文件地址,
      注:为防止账户泄漏信息,serves.js不上传git
      //      {  
      //      host: '', //服务器地址
      //      username: '',//服务器用户名
      //      password: '',//服务器密码
      //      path: ''//服务器文件地址
      //     }
      client.scp('本地目录是指打包路径如:/Users/demo/dist', serves.servesUser(), function (err) {
          if (err) {
            console.log(err)
          } else {
            console.log('文件上传完毕!\n')
          }
          })
    }
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值