2015-09-06 92 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非常類似的任務。

相關問題