2015-09-06 143 views
0

我正在使用Grunt.js来观看我的jsscss文件,这些文件在保存时编译为main.jsmain.css。这一切工作正常。令人烦恼的是,要查看我的服务器上反映的变化,我需要手动转到我的本地目录上的main.jsmain.css文件,右键单击并选择我的远程服务器upload to ...监视文件并自动将文件上传到远程服务器PHP Storm

在我平滑的工作流程中,这是相当丑陋的凹凸。

是否有可能建立一个任务或者虽然PHP风暴或Grunt.js,如果当他们改变自动上传这些文件?

+0

这是可能的,因为你可以触发与咕噜的任何程序(记住,呼噜声是只是一个普通的Node.js应用程序)。但是,您应该先尝试一下,因为这是一个非常模糊的问题。 – doldt

+0

您也可以使用phing或任何其他构建工具来自动化。 – m02ph3u5

回答

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" 
    } 
} 

不要忘了,因为FTP信息是敏感到这个文件添加到您的.gitignore。现在

你可以将任务ftp-deploy添加到您的构建任务,像这样的结尾:

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

但这种做法将上传文件每次你犯了一个版本。您也可以使用grunt ftp-deploy从终端手动运行该任务。

有一个叫grunt-sftp-deploy以防万一你正在使用SFTP非常类似的任务。