iisnode 不会 运行 Express
iisnode won't run Express
我正在尝试 运行 使用 iisnode 表达。我按照提供的示例进行操作,但是当尝试将最新的 Express 版本与基本示例一起使用时,无法使其正常工作。
我收到错误 Cannot GET /node/parislight/hello.js
和其他时间,只是 The webpage cannot be found
。
我创建了一个取自 the express docs 的 hello.js
文件(主 express 文件)。
var express = require('express')
var app = express()
app.get('/', function (req, res) {
res.send('Hello World!')
})
var server = app.listen(process.env.PORT, function () {
var host = server.address().address
var port = server.address().port
console.log('Example app listening at http://%s:%s', host, port)
})
我添加了必要的 web.config
文件(从 iisnode 中的 express 示例中提取)
<configuration>
<system.webServer>
<!-- indicates that the hello.js file is a node.js application
to be handled by the iisnode module -->
<handlers>
<add name="iisnode" path="hello.js" verb="*" modules="iisnode" />
</handlers>
<!-- use URL rewriting to redirect the entire branch of the URL namespace
to hello.js node.js application; for example, the following URLs will
all be handled by hello.js:
http://localhost/node/express/myapp/foo
http://localhost/node/express/myapp/bar
-->
<rewrite>
<rules>
<rule name="myapp">
<match url="myapp/*" />
<action type="Rewrite" url="hello.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我在 IIS 中为使用的应用程序池授予了所有必要的权限。
需要使用完整路径:
The path specified in app.get calls must be the full path of the request.
现在看起来像这样:
app.get('/node/parislight/myapp/demo', function (req, res) {
res.send('Hello World!')
})
通过以下方式加入:
您也可以在文件末尾使用捕获所有功能来获取任何 url 并发送 200 响应或发送您的特殊 404 页面。注意:位置必须在所有其他指定的 urls.
之后
app.get('*', function (req, res) {
res.send('Hello World!')
})
我正在尝试 运行 使用 iisnode 表达。我按照提供的示例进行操作,但是当尝试将最新的 Express 版本与基本示例一起使用时,无法使其正常工作。
我收到错误 Cannot GET /node/parislight/hello.js
和其他时间,只是 The webpage cannot be found
。
我创建了一个取自 the express docs 的 hello.js
文件(主 express 文件)。
var express = require('express')
var app = express()
app.get('/', function (req, res) {
res.send('Hello World!')
})
var server = app.listen(process.env.PORT, function () {
var host = server.address().address
var port = server.address().port
console.log('Example app listening at http://%s:%s', host, port)
})
我添加了必要的 web.config
文件(从 iisnode 中的 express 示例中提取)
<configuration>
<system.webServer>
<!-- indicates that the hello.js file is a node.js application
to be handled by the iisnode module -->
<handlers>
<add name="iisnode" path="hello.js" verb="*" modules="iisnode" />
</handlers>
<!-- use URL rewriting to redirect the entire branch of the URL namespace
to hello.js node.js application; for example, the following URLs will
all be handled by hello.js:
http://localhost/node/express/myapp/foo
http://localhost/node/express/myapp/bar
-->
<rewrite>
<rules>
<rule name="myapp">
<match url="myapp/*" />
<action type="Rewrite" url="hello.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我在 IIS 中为使用的应用程序池授予了所有必要的权限。
需要使用完整路径:
The path specified in app.get calls must be the full path of the request.
现在看起来像这样:
app.get('/node/parislight/myapp/demo', function (req, res) {
res.send('Hello World!')
})
通过以下方式加入:
您也可以在文件末尾使用捕获所有功能来获取任何 url 并发送 200 响应或发送您的特殊 404 页面。注意:位置必须在所有其他指定的 urls.
之后app.get('*', function (req, res) {
res.send('Hello World!')
})