2016-05-04 38 views
0

我有這樣的命令,我可以在命令提示符下運行得很好,它的工作原理:無法獲取Visual Studio代碼在運行launch.json我的生成命令

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

我想將其添加到VS代碼中的launch.jsonprogram部分,但我不斷收到類似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},但沒有運氣:同樣的錯誤。

+0

[This any use](https://stackoverflow.com/questions/35305358/how-do-i-use-workspaceroot-for-my-electron-app-in-visual-studio-code),特別是re 'cwd'? – Andy

+0

@安迪:他的工作空間裏只有一個錯字。 –

+0

是的,但他除了「cwd」之外還有其他東西:「$ {workspace}」,第二個回答者指出了它。我認爲這可能是相關的。 – Andy

回答

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使它一步到位。好的,解決了!

0

Ryan解決方案可能會工作,剛來這裏指出什麼是錯的:模板構造(如$ {workspaceRoot}和$ {cwd})在「程序」屬性中不起作用,這就是爲什麼我們有「參數」。

相關問題