VSCode 任务,npm 脚本的用户输入
VSCode Tasks, user input for npm script
我正在尝试为 package.json 中配置的 的 npm 脚本创建任务。所以,这里是文件:
package.json
....
scripts : {
"migrate": "node_modules/.bin/migrate-mongo",
"migrate:create": "npm run migrate create" // --> this command needs input (file name)
}
....
现在,当我必须 运行 migrate:create 命令时,我必须像这样转到 shell 和 运行 :
$> npm run migrate:craete filename
而且效果很好。
现在我想为此创建一个任务。为此,我做了一些研究,并从中汲取了灵感:
创建了 tasks.json as:
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 运行 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-)?"
}
]
}
这里的命令是我在pacakage.json中配置的实际脚本为:
package.json
....
scripts : {
"migrate": "node_modules/.bin/migrate-mongo",
"migrate:create": "npm run migrate create",
}
....
在tasks.json的命令中我提到了在package.json[=中配置的npm 运行脚本 29=].
谢谢,编码愉快:)
我正在尝试为 package.json 中配置的 的 npm 脚本创建任务。所以,这里是文件:
package.json
....
scripts : {
"migrate": "node_modules/.bin/migrate-mongo",
"migrate:create": "npm run migrate create" // --> this command needs input (file name)
}
....
现在,当我必须 运行 migrate:create 命令时,我必须像这样转到 shell 和 运行 :
$> npm run migrate:craete filename
而且效果很好。
现在我想为此创建一个任务。为此,我做了一些研究,并从中汲取了灵感: 创建了 tasks.json as:
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 运行 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-)?"
}
]
}
这里的命令是我在pacakage.json中配置的实际脚本为:
package.json
....
scripts : {
"migrate": "node_modules/.bin/migrate-mongo",
"migrate:create": "npm run migrate create",
}
....
在tasks.json的命令中我提到了在package.json[=中配置的npm 运行脚本 29=].
谢谢,编码愉快:)