VScode中用sftp自動上傳 | 服務端用pm2自動重啟


sftp

安裝 sftp 工具

這里我選擇的是名字是sftp的工具
在Visual Studio Code 中按Ctrl + Shift + P並輸入

>extensions install extensions

選擇sftp,安裝並重新加載

配置 sftp

在工作空間中,按Ctrl + Shift + P並輸入

>sftp config

這個指令會在.vscode中添加sftp.json文件
按需求修改其中的項目

{
    "host": "",  	//服務器ip
    "port": 22,		//端口,sftp模式是22
    "username": "",	//用戶名
    "password": "",	//密碼
    "protocol": "sftp",	//模式
    "agent": null,	
    "privateKeyPath": null,
    "passphrase": null,
    "passive": false,
    "interactiveAuth": false,
    "remotePath": "/root/node/build/",	//服務器上的文件地址
    "context": "./server/build",		//本地的文件地址
    
    "uploadOnSave": true,	//監聽保存並上傳
    "syncMode": "update",
    "watcher": {			//監聽外部文件
        "files": false,		//外部文件的絕對路徑
        "autoUpload": false,
        "autoDelete": false
    },
    "ignore": [				//忽略項
        "**/.vscode/**",
        "**/.git/**",
        "**/.DS_Store"
    ]
}

注意,其中的注釋不能保留

使用

Ctrl + Shift + P並輸入

>sftp Upload

即可上傳到服務器中。
類似的指令還有:

指令 功能
SFTP Upload 上傳到服務器,沒有則創建,有則覆蓋,多則忽略
SFTP Download 下載到本地,規則同上
SFTP Sync To Remote 同步到服務器,多則刪除
SFTP Sync To Local 同步到本地,多則刪除

pm2 自動重載

安裝 pm2

npm i -g pm2

輸入

pm2 -v

如果和下面一樣出現版本,則安裝成功

[root@VM_0_16_centos ~]# pm2 -v
2.9.1

如果沒有出現版本,而是

[root@VM_0_16_centos ~]# pm2 -v
-bash: pm2: command not found

則可能是npm的環境變量沒有配置好,參考CentOS 中永久修改環境變量

通過pm2啟動node.js服務並監聽文件變化時重自動啟

使用指令

pm2 start server.js --watch

成功則顯示如下:


總結

  • 如果你是希望編寫的代碼保存后,自動上傳、並且不用再切換到xshell中去操作遠程端。那么上面的方法已經實現了。

  • 但是事情往往沒有那么簡單,sftp的保存並上傳功能,只能監聽到保存這一動作,而無法監聽到構建工具構建出來的文件。
    如:

編寫typescript,使用tsc -w監聽保存,自動編譯,你會發現,sftp自動上傳的只有你保存的ts代碼,而不會自動上傳tsc -w自動編譯出來的js代碼

這個情況我還沒找到解決方法,如果你知道,麻煩大佬留言說一下。XD


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM