Node.js + Express-basierte app läuft nicht mit iisnode

Ich mache einige Experimente mit node.js + express-und iisnode.
Ich habe das folgende sehr einfache app, die sich in C:\tsapp-deploy\tsappsvr\TestExpress\0.0.0:

app.js:

var express = require('express');
var app = express();
app.use(express.static(__dirname + "/public"));

var port = process.env.PORT || 2709;
app.listen(port, function() {
  console.log('Listening on port ' + port);
});

Paket.json:

{
  "name": "TestExpress",
  "version": "0.0.0",
  "private": true,
  "dependencies": {
    "express": "3.x"
  }
}

web.config:

<configuration>
  <system.webServer>
    <handlers>
      <add name="iisnode" path="app.js" verb="*" modules="iisnode" />
    </handlers>
  </system.webServer>
</configuration>

public/index.html:

<!doctype html>
<html>
<head>
  <script language="javascript" type="text/javascript" src="js/jquery.js"></script>
  <script language="javascript" type="text/javascript">
    $(document).ready(function() {
      console.log("READY!");
      $("#hello").html("Hello, World!");
    });
  </script>
</head>
<body>
  <h1 id="hello" style="text-align:center;"></h1>
</body>
</html>

Meine Konfiguration: Windows 8.1, IIS 8; iisnode version 0.2.11, Knoten version v0.10.28.

Beim Start von der Kommandozeile (C:\tsapp-deploy\tsappsvr\TestExpress\0.0.0>node app.js), die app läuft als erwartet: in den browser, gehe ich zu http://localhost:2709/ sehen und "Hallo, Welt!".

Mein IIS läuft derzeit andere Knoten.js-basierte Anwendungen, die nicht mit express von ähnlichen Orten (z.B. von C:\tsapp-deploy\tsappsvr\appname\x.y.z\index.js), so nehme ich an, es sollte richtig konfiguriert sein, aber wenn ich versuche, führen Sie diese app aus dem browser eingeben http://localhost/tsappsvr/TestExpress/0.0.0/app.js bekomme ich eine 404-Nicht Gefunden wird (im IE) oder "Cannot GET /tsappsvr/TestExpress/0.0.0/app.js" in Chrome und Firefox.

Ich denke, dass das problem in meinem web.config, aber ich kann nicht herausfinden, wie es zu ändern, um meine app zu arbeiten. Ich habe versucht, mehrere änderungen in web.config wie bereits in anderen Antworten auf ähnliche Fragen, aber keine Erfolg noch.
Irgendwelche Vorschläge?

Vielen Dank im Voraus.

InformationsquelleAutor eca | 2014-06-09

Schreibe einen Kommentar