监视文件并自动将文件上传到远程服务器PHP Storm

时间:2015-09-06 11:43:36

标签: javascript php ide gruntjs phpstorm

我正在使用Grunt.js观看我的jsscss文件,这些文件会在保存时将其编译为main.jsmain.css。一切正常。

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

在我平稳的工作流程中,这是一个非常难看的问题。

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

1 个答案:

答案 0 :(得分:0)

您可以配置一个名为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。