【问题标题】:Can't get Visual Studio Code to run my build command in launch.json无法让 Visual Studio Code 在 launch.json 中运行我的构建命令
【发布时间】:2016-05-04 23:09:00
【问题描述】:

我有这个命令,我可以在命令提示符下运行它,它可以正常工作:

browserify -u jquery /public/index.js -t babelify -o /public/scripts/bundle.js & node /server.js

我正在尝试将其添加到 VS Code 中的 launch.json program 部分,但我不断收到类似 relative paths will no longer be converted to absolute ones 的错误。

所以我试着把它改成这样:

"program": "browserify -u jquery ${workspaceRoot}/public/index.js -t babelify -o ${workspaceRoot}/public/scripts/bundle.js & node ${workspaceRoot}/server.js"

我仍然遇到同样的错误。我认为它可能也需要 browserify 和其他可执行文件的路径,但我不确定。我也尝试向它们添加${workspaceRoot},但没有运气:同样的错误。

【问题讨论】:

  • This any use,尤其是cwd?
  • @Andy:他只是在他的 workspaceRoot 中打错了字。
  • 是的,但他还有 `"cwd": "${workspace}" 以外的其他东西,第二个回答者指出了这一点。我认为这可能是相关的。
  • @Andy:哦,是的,我的 cwd 行已经是这样了。 cwd 行没有任何错误;只有“程序”行。

标签: javascript node.js browserify babeljs visual-studio-code


【解决方案1】:

嗯,我对 VS Code 很陌生,不确定这是否正确,但我发现我可以将编译部分放入任务 (tasks.json) 并使用 Control+Shift+B 运行它。

{
  "version": "0.1.0",
  "command": "browserify",
  "isShellCommand": true,
  "suppressTaskName": true,
  "tasks": [
    {
      "taskName": "install",
      "isBuildCommand": true,
      "args": ["--u", "jquery", "${workspaceRoot}/public/index.js", "-t", "babelify", "-o", "${workspaceRoot}/public/scripts/bundle.js"]
    }
  ]
}

然后在launch.json中用这个手动运行服务器:

"program": "${workspaceRoot}/server.js",

似乎可行,但最好一步完成。

编辑: 哦,好的,您可以将"preLaunchTask": "install", 添加到launch.json 以使其成为一个步骤。好的,解决了!

【讨论】:

    【解决方案2】:

    Ryan 解决方案可能会起作用,只是来这里指出问题所在:模板构造(如 ${workspaceRoot} 和 ${cwd})在“程序”属性中不起作用,这就是为什么我们有“参数”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-16
      • 2016-06-04
      • 2021-05-11
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多