أحاول تصحيح أخطاء تطبيق Node باستخدام Windows Subsytem لنظام Linux ولكن لا أعتقد أن المسارات تترجم.
هذا هو الإطلاق الخاص بي. json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch NestJS",
"useWSL": true,
"console": "integratedTerminal",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"start:dev"
],
"port": 5000,
}
]
}
وهذا ما يظهر في وحدة التحكم الخاصة بي بعد محاولة التصحيح:
isiah@isiah-acer:/mnt/c/Users/Isiah/Documents/Programming_Projects/etc/podcast_db/new-api$ cd "c:\Users\Isiah\Documents\Programming_Projects\etc\podcast_db\new-api" ; "C:\WINDOWS\System32\bash.exe" -ic "npm run-script start:dev"
-bash: cd: c:\Users\Isiah\Documents\Programming_Projects\etc\podcast_db\new-api: No such file or directory
C:\WINDOWS\System32\bash.exe: command not found
ولمزيد من المعلومات npm run-script start:dev
يدير nodemon
وهنا هو nodemon.json الخاص بي:
{
"watch": [
"src"
],
"ext": "ts",
"ignore": [
"src/**/*.spec.ts"
],
"exec": "node -r tsconfig-paths/register --inspect=5000 --require ts-node/register src/main.ts"
}
هل تحدث هذه المشكلة عند تعطيل كافة الملحقات ؟: نعم
هذا إعداد معقد ولم يتم دعمه بعد.
أعتقد أن هذا يجب أن يعمل عند إزالة "console": "integratedTerminal"
من تكوين الإطلاق. يجب أن يكون "useWSL": true
كافيًا.
لتصحيح مثل هذا الإعداد ، استخدم ملحق WSL workspaceFolder وأضف ما يلي إلى تكوينات lauch الخاصة بي:
"localRoot": "${workspaceFolder}",
"remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
مثال يناسبني:
{
"type": "node",
"request": "launch",
"name": "Run NPM script in WSL",
"useWSL": true,
"localRoot": "${workspaceFolder}",
"remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"foo",
],
"internalConsoleOptions": "openOnSessionStart",
"skipFiles": [
"<node_internals>/**/*.js",
],
},
لتصحيح أخطاء اختبارات mocha ، أستخدم تهيئة التشغيل هذه:
{
"type": "node",
"request": "launch",
"name": "Run mocha tests in WSL",
"useWSL": true,
"localRoot": "${workspaceFolder}",
"remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"-u",
"tdd",
"--timeout",
"999999",
"--colors",
"--exit",
"${command:extension.vscode-wsl-workspaceFolder}/tests/test.js"
],
"internalConsoleOptions": "openOnSessionStart",
"skipFiles": [
"<node_internals>/**/*.js",
],
},
ملاحظة: سيكون الإخراج في علامة التبويب "Debug Console".
@ n0v1 عملت لي. شكرا لك!
هذه حالة استخدام شائعة الآن مع التطوير على WSL وعمل تصحيح الأخطاء بالنسبة لي أمر بالغ الأهمية لعملي. الآن للحصول على عمل بيثون 🤞
لقد أعلنا للتو عن التطوير عن بُعد باستخدام VS Code ، تحقق من منشور المدونة للحصول على التفاصيل https://code.visualstudio.com/blogs/2019/05/02/remote-development
التعليق الأكثر فائدة
أعتقد أن هذا يجب أن يعمل عند إزالة
"console": "integratedTerminal"
من تكوين الإطلاق. يجب أن يكون"useWSL": true
كافيًا.لتصحيح مثل هذا الإعداد ، استخدم ملحق WSL workspaceFolder وأضف ما يلي إلى تكوينات lauch الخاصة بي:
مثال يناسبني:
لتصحيح أخطاء اختبارات mocha ، أستخدم تهيئة التشغيل هذه:
ملاحظة: سيكون الإخراج في علامة التبويب "Debug Console".