【发布时间】: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