我正在使用Grunt.js观看我的js
和scss
文件,这些文件会在保存时将其编译为main.js
和main.css
。一切正常。
令人讨厌的是,要查看我服务器上反映的更改,我需要手动转到我本地目录中的main.js
和main.css
文件,右键单击并选择upload to ...
我的远程服务器。
在我平稳的工作流程中,这是一个非常难看的问题。
是否可以通过PHP Storm或Grunt.js设置任务,以便在更改时自动上传这些文件?
答案 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。