Creé una aplicación simple node.js (código fuente desde aquí https://azure.microsoft.com/en-us/blog/visual-studio-code-and-azure-app-service-a-perfect-fit/ )
var http = require('http');
http.createServer(function (req, res) {
console.log('Got request for ' + req.url);
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('<h1>Hello Code and Azure Web Apps!</h1>');
}).listen(process.env.PORT);
Y haga clic en launch.json generado por VSCode:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/app.js",
"stopOnEntry": false,
"args": [],
"cwd": "${workspaceRoot}",
"preLaunchTask": null,
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"externalConsole": false,
"sourceMaps": false,
"outDir": null
},
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 5858,
"address": "localhost",
"restart": false,
"sourceMaps": false,
"outDir": null,
"localRoot": "${workspaceRoot}",
"remoteRoot": null
}
]
}
Y aún cuando lo lanzo veo:
El atributo 'programa' no existe.
¿Alguien puede ayudar en lo que está mal?
node.js
visual-studio-code
Valeriy
fuente
fuente
"program": "${workspaceRoot}/app.js",
línea que causa el error; el archivo js al que hace referencia esta línea no existe.server.js
como archivo de inicio. Quizás una mejor respuesta hubiera sido "elprogram
atributo apunta al archivo incorrecto"También encontré este problema debido a que VS Code colocó el directorio .vscode que contiene el archivo launch.json. Lo colocó en un directorio, así que tuve que agregar el directorio a la ruta como se define en el archivo launch.json:
"program": "$ {workspaceRoot} /myDir/app.js",
Espero que esto ayude.
fuente
Otro problema con el que me encontré es que se configuró una ruta
Using\\Backslashes\\Like\\So
y funcionó bien en Windows, pero en Mac dio el error anterior.(Solución: cambiado a
/
)fuente
El error dice que la ruta a su código era incorrecta.
VSCode define el directorio principal de su archivo de configuración ".vscode / launch.json" como "$ {workspaceRoot}" o "$ {workspaceFolder}".
Entonces, por ejemplo, si desea ejecutar el archivo "myproject / subfolder / main.js", debe configurar su "myproject / .vscode / launch.json" de la siguiente manera:
"program": "${workspaceRoot}/subfolder/main.js"
Tenga en cuenta que la configuración
"program": "${workspaceRoot}/myproject/subfolder/main.js"
es un error y provocará el error "El atributo 'programa' no existe".fuente
Hoy desperdicié algunas horas tratando de resolver este problema. Lo que funcionó para mí fue eliminar el launch.json existente y ejecutar la aplicación, lo que le pide que seleccione un entorno, que en mi caso fue Node. Esto creó un nuevo launch.json en el que actualicé la ruta del programa.
fuente
Idealmente, el error debería leer 'el archivo especificado en el atributo del programa no existe' porque eso es lo que está sucediendo. A partir de VSCode 1.30.2, le muestra la ruta junto con el error.
En mi caso lo hice
"program": "${workspaceFolder}\\${file}"
así que el camino fue algo así comoc:\dir\c:\dir\file.js
Corregí esto eliminando
${workspaceFolder}
ya que quería poder depurar archivos individuales.fuente
Tuve el mismo problema. En mi caso, mi launch.json tenía la siguiente línea
"program": "${workspaceFolder}\\index.js"
Mi código activo que intenté depurar estaba en app_v2.js, así que lo actualicé al siguiente y luego funcionó la depuración.
"program": "${workspaceFolder}\\app_v2.js"
fuente
En primer lugar, lea el documento oficial que responde a todas las preguntas que tendría sobre la configuración de los atributos correctos para diferentes escenarios utilizando
launch.json
.Ahora, para responder específicamente a esta pregunta,
${workspaceFolder}
básicamente contiene el directorio del.vscode
directorio, que es el directorio raíz de su proyecto. Por lo tanto, cuando configure archivos específicos como su programa de depuración, recuerde asignar la ruta desde el directorio raíz del proyecto, o en otras palabras, la ruta relativa del archivo que se configurará como programa de depuración. Esto se puede obtener fácilmente del IDE (Código VS) simplemente haciendo clic derecho en el archivo y seleccionando laCopy Relative Path
opción. Luego proceda a pegar esto junto a $ {workspaceFolder} en el atributo del programa en sulaunch.json
archivo, como se muestra a continuación, solucionará el problema."program": "${workspaceFolder}/<relative_path>"
Reemplace la ruta relativa con la ruta relativa copiada como se mencionó anteriormente Tenga en cuenta que estoy en una plataforma Mac. Utilice separadores de ruta adecuados para la plataforma
Alternativamente, no usar específicamente una configuración de inicio tiene sentido si se trata de una aplicación que no es para producción o simple que no garantiza un archivo de configuración de inicio. Sin embargo, si no es así, es muy útil cuando se depura en un entorno de múltiples objetivos (servidor, cliente). En mi opinión, usar una configuración de lanzamiento compuesta facilita mucho las cosas. Lea esta sección de los documentos oficiales para aprender cómo configurarlo teniendo en cuenta las rutas relativas de los archivos de su servidor y cliente.
fuente
Tenía la misma pregunta y me tomó un par de horas resolverla. Lo que hice básicamente fue eliminar la carpeta después
${workspaceFolder}
El formato fue
${workspaceFolder}/xxxx\\folder\\subfolder\\subfolder
así al eliminar lo que está después de la "carpeta de espacio de trabajo" e iniciar mi ruta desde la barra doble hacia atrás, lo solucionó.fuente
Tuve el mismo error, porque estaba pasando los argumentos dentro del atributo "programa" como este:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Build -B -p", "skipFiles": [ "<node_internals>/**" ], "program": "${workspaceFolder}\\app\\build -B -p D:\\apps\\12" } ] }
Lo que me resolvió fue pasar los argumentos dentro del atributo "args", así:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Build -B -p", "skipFiles": [ "<node_internals>/**" ], "program": "${workspaceFolder}\\app\\build", "args":["-B", "-pD:\\apps\\12"] } ] }
El sistema operativo era Windows 7.
fuente
Simplemente significa que cuando depura el archivo, el archivo app.js simplemente no existe y cuando realiza la depuración, muestra el error. Aquí está mi manera de solucionar el problema: simplemente reemplace el valor del programa
"${workspaceRoot}/app.js"
por
"${workspaceFolder}/${fileBasenameNoExtension}.js"
Espero que esto resuelva todos sus problemas.
fuente
Para los que están usando Visual Studio 2019 , hoy estaba probando Node.js en el VS2019 "maestro". Me mudé
server.ts
a lasrc
carpeta para que mijs
salida estuviera en lalib
carpeta.Después de eso, comencé a recibir ese mensaje. Estos son los cambios que hice en mi archivo de proyecto para que funcione.
<StartupFile>lib\server.js</StartupFile> <WorkingDirectory>lib</WorkingDirectory> <OutputPath>lib</OutputPath>
Espero que esto no esté fuera de tema, podría ayudar a los usuarios de VS IDE.
fuente