Udostępnianie plików statycznych z iisnode za pomocą URL Rewrite

Używam reguły Rewrite w moim pliku web.config, aby aplikacja węzła uruchomiona w issnode wskazywała na mój plik server.js. myapp / * wskazuje na server.js.

<code>    <rule name="myapp" enabled="true">
      <match url="myapp/*" />
      <action type="Rewrite" url="server.js" />
    </rule>
</code>

To działa świetnie www.mywebsite.com/myapp/ ładuje uruchomioną aplikację. Chciałem mieć przekierowanie z katalogu głównego strony, więc www.mywebsite.com/ uruchomi moją aplikację. Zmieniłem więc plik web.config

<code>    <rule name="myapp" enabled="true">
      <match url="/*" />
      <action type="Rewrite" url="server.js" />
    </rule>
</code>

Więc to uruchamia server.js i obsługuje mój statyczny plik html. Jedynym problemem jest odwoływanie się do jakichkolwiek zewnętrznych plików z mojego pliku html (css, js, images itp.). Używam tego do obsługi plików statycznych

<code>        var libpath = require('path');
        var _path = "."; <-- This seems to be the problem


        var uri = url.parse(req.url).pathname;
    var filename = libpath.join(_path, uri);
    fs.readFile(filename, "binary", function (err, file) {
            if (err) {
            res.writeHead(500, {
                "Content-Type": "text/plain"
            });
                 res.write(err + "\n");
                 res.end();
                return;
            }

         var type = mime.lookup(filename);
            res.writeHead(200, {
                "Content-Type": type
            });
         res.write(file, "binary");
         res.end();
        });

    break;
</code>

Moje pytanie brzmi: jak wskazać root mojego węzła app / server, aby obsługiwał statyczne pliki.

Dzięki

Jono

questionAnswers(2)

yourAnswerToTheQuestion