【问题标题】:How to replace nodemon in a way that accommodates --inspect=9230如何以适应 --inspect=9230 的方式替换 nodemon
【发布时间】:2020-11-18 01:39:12
【问题描述】:

我有一个 npm 脚本,它启动 apollo graphql 并按以下方式工作:

"dev":"dotenv -e \"../.env.${SOME_ENV_VAR}\" nodemon --config nodemon.dev.json ./src/main.ts

我现在想用等效的节点--inspect=9230参数稍微改变它。

我将如何重写此脚本以有效地执行相同的操作但允许在端口 9230(不是默认端口 9229)上进行调试?

另外,如果我可以添加graphql模式文件自动重新加载的概念,那就更好了:

"debug": "concurrently \"tsc -w\" \"npm run watchgraphql\" \"nodemon --inspect build/dist/index.js\"",
"watchgraphql": "cpx 'src/graphql/schemas/**/*.graphql' build/dist/graphql/schemas/ -w -v"

我通常只会使用上面的 graphql 示例脚本,但它缺少我最初声明的目标中的 dotenv -e \"../.env.${SOME_ENV_VAR}\" 部分。 无论我做了什么,我都无法将dotenv -e \"../.env.${SOME_ENV_VAR}\" 的概念注入到graphql 脚本示例中......命令和参数解析都搞砸了,没有任何东西可以正常执行。

nodemon.dev.json:
{
  "watch": [
    "src"
  ],
  "ext": "ts,gql",
  "ignore": [
    "src/**/*.spec.ts",
    "src/types/**/*.d.ts"
  ],
  "register": [
    "graphql-import-node/register"
  ],
  "execMap": {
    "ts": "ts-node"
  }
}

谢谢

【问题讨论】:

  • 使用 nodemon 运行 ts + node-inspect 更新你的 execMap:"ts": "node -r ts-node/register --inspect PORT"。想想这就是我们的配置的样子。如果它不起作用,我可以在我使用 PC 时检查 :)
  • 能否请您就我的回答给我一些反馈?
  • @DanieleRicci - 你的答案是我尝试过的,但它不起作用,因为参数变得很不稳定并且没有正确传递。我最终用 MarcRo 的评论解决了这个问题。

标签: node.js apollo graphql-js npm-scripts


【解决方案1】:

直接来自nodemon的自述文件。

您也可以像往常一样通过命令行将检查标志传递给节点:

nodemon --inspect ./server.js 80

应该够了:

"dev": "dotenv -e \"../.env.${SOME_ENV_VAR}\" nodemon --config nodemon.dev.json --inspect=9230 ./src/main.ts"

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 2022-07-27
    • 2018-05-13
    • 2020-07-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多