【问题标题】:Watch file and automatically upload file to remote server PHP Storm监视文件并自动上传文件到远程服务器 PHP Storm
【发布时间】:2015-09-06 11:43:36
【问题描述】:

我正在使用 Grunt.js 来查看我的 jsscss 文件,这些文件在保存时会将它们编译为 main.jsmain.css。这一切都很好。

但令人讨厌的是,要查看反映在我的服务器上的更改,我需要手动转到本地目录上的 main.jsmain.css 文件,右键单击并选择 upload to ... 我的远程服务器。

这对我原本流畅的工作流程来说是一个相当丑陋的障碍。

是否可以通过 PHP Storm 或 Grunt.js 设置任务以在这些文件发生更改时自动上传这些文件?

【问题讨论】:

  • 这是可能的,因为您可以使用 Grunt 触发任何程序(请记住,grunt 只是一个常规的 node.js 应用程序)。但是你应该先尝试一下,因为这是一个非常模糊的问题。
  • 您也可以使用 phing 或任何其他构建工具来自动执行此操作。

标签: javascript php ide gruntjs phpstorm


【解决方案1】:

有一个名为grunt-ftp-deploy 的任务,您可以将其配置为将任何文件上传到服务器。基本上是这样的

'ftp-deploy': {
  build: {
    auth: {
      host: 'yourserver',
      port: 21,
      authKey: 'key'
    },
    src: 'dist/',
    dest: '/path/to/destination/folder',
    exclusions: !['path/to/dist/main.js', 'path/to/dist/main.js']
  }
}

这将排除除您要上传的文件之外的所有文件。您还需要创建一个名为 .ftppass 的文件,其中包含这样的 ftp 凭据:

{
  "key": {
    "username": "username1",
    "password": "password1"
  }
}

不要忘记将此文件添加到您的.gitignore,因为 ftp 信息很敏感。

现在您可以将任务 ftp-deploy 添加到构建任务的末尾,如下所示:

  grunt.registerTask('build', [
    'clean:dist',
    ...
    'ftp-deploy'
  ]);

但是这种方法会在您每次构建时上传您的文件。您还可以使用grunt ftp-deploy 从终端手动运行该任务。

有一个非常相似的任务称为grunt-sftp-deploy,以防万一您使用的是 sftp。

【讨论】:

    猜你喜欢
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 2012-08-27
    • 2015-12-15
    相关资源
    最近更新 更多