[英]Debugging Sanity exec with VS Code
我正在使用 Sanity (sanity.io 無頭 CMS) 並使用 CLI 進行一些數據遷移。
我如何(或者,是否有可能)如何附加 vscode 調試器並在遷移腳本中的斷點處停止。 我正在運行以下 cli 遷移腳本: sanity exec migrate.js --with-user-token
。 我想在 migrate.js 中的斷點處停止?
我已經管理了使用節點運行的調試控制台應用程序,但不知道在使用sanity exec..
啟動腳本時是否可以讓調試器參與進來。 單步執行代碼是查找錯誤和學習的好方法。
有多種不同的方法可以調試 Sanity CLI。 不過,我之前沒有嘗試過你的方法。
如果您願意,您可以克隆操作系統存儲庫。 這可能會讓你的事情變得更容易。 如果您使用的是 VS Code,那么您可以使用此啟動配置來運行帶有調試器的 CLI:
{
"type": "node",
"request": "launch",
"name": "Launch CLI",
"program": "${workspaceFolder}/packages/@sanity/cli/bin/entry.js",
"args": [
"exec",
"migrate.js",
"--with-user-token"
]
}
您必須先運行npm run build
才能生成entry.js
文件。
編輯:如果要運行需要 Studio 上下文的命令,可以運行symlinkDependencies.js
腳本。 這方面的一個例子可以是:
node symlinkDependencies.js "/<path>/<to>/<your>/<studio>/<folder>" --all
這將在您的 Studio 實例和 Sanity monorepo 之間創建符號鏈接。 您還必須在 monorepo 中運行npm run watch
。 這樣您就可以在 monorepo 中編輯代碼,並且您運行的命令將包含您的更改。
您可以嘗試的另一件事是添加環境變量DEBUG=*
。 這將在運行 CLI 命令時 output 調試信息。 如果你在 Mac 上,你可以簡單地運行DEBUG=* sanity exec migrate.js --with-user-token
。 如果您使用的是 Windows,請打開 PowerShell 並運行: $env:DEBUG=*
。 這僅為此 PowerShell session 設置環境變量。 然后,您可以運行您的命令。
對於您的確切問題,我想您可以嘗試使用以下配置:
{
"type": "node",
"request": "launch",
"name": "Launch CLI",
"program": "/usr/local/lib/node_modules/@sanity/cli/bin/entry.js",
"args": [
"exec",
"migrate.js",
"--with-user-token"
]
}
或類似的東西。 我自己沒有嘗試過這種方法。
我最終未能成功調試sanity exec
命令,但在重新編寫腳本后,我通過正常的節點調試完成了大部分相同的工作。
client from '@sanity/client'
import
-ed 客戶端。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.