VSCode任务,npm脚本的用户输入



我正在尝试为配置的npm脚本创建一个任务package.json。下面是文件:

package.json

....
scripts : {
"migrate": "node_modules/.bin/migrate-mongo",
"migrate:create": "npm run migrate create" // --> this command needs input (file name)
}
....

现在,当我必须运行迁移:创建命令,我必须进入shell并像这样运行:

$> npm run migrate:craete filename

效果很好。

现在我想为它创建一个任务。为此,我做了一些研究,并从:https://stackoverflow.com/a/53846572/1227940创建了任务。json作为:

tasks.json

{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "Create a db migration script.",
"command": "npm run migrate create ${input:migrationName}",

}
],
"inputs": [
{
"type": "promptString",
"id": "migrationName",
"description": "Name your migration script?",
"default": "create"
}
]
}

但是不知何故,它没有给我一个文本框来输入任何东西,而是直接进入其中并触发命令:npm run migrate:create这是失败的,因为文件名丢失。

有没有人能告诉我,我缺少什么,我错过了什么,请让我知道?

提前感谢,快乐编码:)

所以,最后我做了一些研究,找到了解决方案,下面是:

tasks.json

{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "Create Migration Script",
"command": "npm run migrate:create ${input:migrationName}",
"problemMatcher": []
}
],
"inputs": [
{
"type": "promptString",
"id": "migrationName",
"description": "Name your migration script (prefix with create-, update-, delete-, insert-)?"
}
]
}
这里的命令是我在packakage .json

中配置的实际脚本。:package.json

....
scripts : {
"migrate": "node_modules/.bin/migrate-mongo",
"migrate:create": "npm run migrate create",
}
....

在任务命令中。npm运行脚本在package.json中配置.

谢谢和快乐的编码:)