gpt4 book ai didi

node.js - iisnode 不会运行 Express

转载 作者:搜寻专家 更新时间:2023-11-01 00:14:36 27 4
gpt4 key购买 nike

我正在尝试使用 iisnode 运行 express。我按照提供的示例进行操作,但是当尝试将最新的 Express 版本与基本示例一起使用时,无法使其正常工作。

我遇到错误 Cannot GET/node/parislight/hello.js 而其他时候,只是 The webpage cannot be found

我创建了一个 hello.js 文件(主 express 文件)取自 the express docs .

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.

Source

现在看起来像这样:

app.get('/node/parislight/myapp/demo', function (req, res) {
res.send('Hello World!')
})

通过以下方式加入:

http://localhost/node/parislight/myapp/demo

关于node.js - iisnode 不会运行 Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33825355/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com