首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用VS代码调试Sanity

用VS代码调试Sanity
EN

Stack Overflow用户
提问于 2020-05-07 08:06:56
回答 2查看 445关注 0票数 1

我正在使用Sanity (sanity.io无头CMS),并使用CLI进行一些数据迁移。

我如何(或者,在可能的情况下)如何附加vscode调试器并在迁移脚本中的断点停止。我正在运行以下cli迁移脚本:sanity exec migrate.js --with-user-token。我想在migrate.js的断点停留吗?

我已经管理了与节点一起运行的调试控制台应用程序,但不知道在用sanity exec ..启动脚本时是否可以让调试器启动。深入研究代码是查找bug和学习的好方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-08 17:33:14

我在调试sanity exec命令时最终失败了,但是在重新处理脚本之后,我完成了大部分与普通节点调试相同的工作。

  • I import-ed client from '@sanity/client'.
  • 让访问-标记的项目,我希望写或阅读草稿。
  • 添加了适当的启动-配置,
  • 从vscode运行节点v14.2.0普通调试器,并使用断点遍历我的脚本。
票数 1
EN

Stack Overflow用户

发布于 2020-05-07 12:11:30

有多种不同的方法来调试是否正确的CLI。不过,我以前没试过你的方法。

如果你准备好了,你可以克隆OS存储库。这可能会让你更容易。如果使用VS代码,则可以使用此启动配置运行CLI,并附带调试器:

代码语言:javascript
复制
{
    "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文件。

编辑:如果您想运行需要一个symlinkDependencies.js上下文的命令,可以运行symlinkDependencies.js脚本。这方面的一个例子是:

代码语言:javascript
复制
node symlinkDependencies.js "/<path>/<to>/<your>/<studio>/<folder>" --all

这将在Studio实例和Sanity monorepo之间创建符号链接。您还必须在monorepo中运行npm run watch。这样,您就可以在monorepo中编辑代码,并且运行的命令将包含您的更改。

您可以尝试的另一件事是添加环境变量DEBUG=*。这将在运行CLI命令时输出调试信息。如果您在Mac上,您可以简单地运行DEBUG=* sanity exec migrate.js --with-user-token。如果您在Windows上,请打开PowerShell并运行以下代码:$env:DEBUG=*。这只为此PowerShell会话设置了一个环境变量。然后您可以运行您的命令。

关于您的确切问题,我想您可以尝试使用这种配置:

代码语言:javascript
复制
{
    "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"
    ]
}

或者类似的东西。我自己也没试过这种方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61652819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档