2016-05-22 10 views
29

ho creato semplice applicazione node.js (codice sorgente da qui https://azure.microsoft.com/en-us/blog/visual-studio-code-and-azure-app-service-a-perfect-fit/)" 'programma' attributo non esiste" per node.js base proiettano

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); 

e cliccato VSCode generato launch.json:

{ 
    "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 
     } 
    ] 
} 

E ancora una volta lanciato vedo:

attributo 'programma' non esiste.

Qualcuno può aiutare cosa c'è che non va?

risposta

22

Credo che sia necessario il numero ${workspaceRoot}/server.js, non ${workspaceRoot}/app.js per program. Il codice che stai utilizzando non ha un'app.js, questo è quello che ti dice l'errore (mal scritto).

+0

Quanto sopra è la risposta corretta. È il "programma": "$ {workspaceRoot} /app.js", 'linea che causa l'errore; il file js a cui fa riferimento questa riga non esiste. – Yiling

+0

Non credo che sia corretto. Non c'è niente di sbagliato in app.js Non l'ho provato, ma la risposta di Colin di seguito è ciò che faccio sempre. –

+0

Questa risposta era corretta per la domanda data. Il post del blog elencato nella domanda utilizza il file 'server.js' come file di avvio. Forse una risposta migliore sarebbe stata "l'attributo' program' sta puntando al file sbagliato " – mdickin

12

Ho riscontrato questo problema anche a causa del codice VS inserito nella directory .vscode contenente il file launch.json. E metterlo su una directory quindi ho dovuto aggiungere la directory al percorso, come definito nel file launch.json:

"programma": "$ {} workspaceRoot /myDir/app.js",

Spero che aiuti.

+0

Credo che tu abbia la risposta corretta poiché stavo di nuovo in questo problema su un altro computer e ho dimenticato cosa ho fatto prima e ho visto la tua risposta e ha ricordato che è corretto. –

1

Ho sprecato alcune ore oggi cercando di capire questo problema. Ciò che ha funzionato per me è stato l'eliminazione del file launch.json esistente e l'esecuzione dell'applicazione, che richiede di selezionare un ambiente, che nel mio caso era Nodo. Questo ha creato un nuovo launch.json nel quale ho aggiornato il percorso del programma.

2

Un altro problema in cui mi sono imbattuto in un percorso è stato configurato Using\\Backslashes\\Like\\So e ha funzionato bene su Windows, ma su Mac ha dato l'errore di cui sopra.

(Soluzione: cambiato per /)

Problemi correlati