gpt4 book ai didi

node.js - Node.js web 应用程序中的 NPM 错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:46 25 4
gpt4 key购买 nike

我正在尝试从模板创建一个网络应用程序。这个问题是,当我运行应用程序时,我收到“由于发生内部服务器错误,无法显示页面”。我做了一些研究,似乎我的 Node 安装遇到了问题。

我尝试重新安装npm,当前版本是1.4.28。错误日志显示:

0 信息如果以 ok 结尾则有效1 详细 cli [ 'node',1 详细 cli 'D:\Program Files (x86)\npm\1.4.28\node_modules\npm\bin\npm-cli.js',1 详细 cli 'init' ]2 信息使用 [email protected]3 信息使用 [email protected]4 错误 错误:EINVAL,无效参数新套接字出现 4 错误 (net.js:157:18)process.stdin 处出现 4 个错误(node.js:693:19)4 读取时出错 (D:\Program Files (x86)\npm\1.4.28\node_modules\npm\node_modules\read\lib\read.js:18:36)PromZard.prompt 处出现 4 错误 (D:\Program Files (x86)\npm\1.4.28\node_modules\npm\node_modules\init-package-json\node_modules\promzard\promzard.js:214:3)PromZard.L 处出现 4 错误 (D:\Program Files (x86)\npm\1.4.28\node_modules\npm\node_modules\init-package-json\node_modules\promzard\promzard.js:177:21)PromZard.walk 处出现 4 错误 (D:\Program Files (x86)\npm\1.4.28\node_modules\npm\node_modules\init-package-json\node_modules\promzard\promzard.js:146:5)PromZard.loaded 处出现 4 错误 (D:\Program Files (x86)\npm\1.4.28\node_modules\npm\node_modules\init-package-json\node_modules\promzard\promzard.js:90:8)PromZard 出现 4 个错误。 (D:\Program Files (x86)\npm\1.4.28\node_modules\npm\node_modules\init-package-json\node_modules\promzard\promzard.js:57:10)fs.js 处出现 4 个错误:272:14Object.oncomplete 处出现 4 个错误 (fs.js:108:15)5 错误如果您需要帮助,您可以报告此整个日志,5 个错误,包括 npm 和 node 版本,位于:5 错误 http://github.com/npm/npm/issues6 错误系统 Windows_NT 6.2.92007 错误命令“node”“D:\Program Files (x86)\npm\1.4.28\node_modules\npm\bin\npm-cli.js”“init”8 错误 cwd D:\home\site\wwwroot9 错误 Node -v v0.10.4010 错误 npm -v 1.4.2811 错误系统调用 uv_pipe_open12 错误代码EINVAL13 错误 错误号 1814 详细退出 [ 18, true ]

这是我所拥有的:

Web.config

<configuration>
<system.webServer>

<handlers>
<!-- indicates that the app.js file is a node.js application to be handled by the iisnode module -->
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>

<rewrite>
<rules>
<!-- Don't interfere with requests for logs -->
<rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^[a-zA-Z0-9_\-]+\.js\.logs\/\d+\.txt$" />
</rule>

<!-- Don't interfere with requests for node-inspector debugging -->
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^app.js\/debug[\/]?" />
</rule>

<!-- First we consider whether the incoming URL matches a physical file in the /public folder -->
<rule name="StaticContent">
<action type="Rewrite" url="public{REQUEST_URI}" />
</rule>

<!-- All other URLs are mapped to the Node.js application entry point -->
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True" />
</conditions>
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

App.js

var express = require('express');
var app = express();


app.use('/node_modules', express.static(__dirname + '/node_modules'));
app.use('/style', express.static(__dirname + '/style'));
app.use('/script', express.static(__dirname + '/script'));

app.get('/',function(req,res){
res.sendFile('home.html',{'root': __dirname + '/templates'});
})

app.get('/showSignInPage',function(req,res){
res.sendFile('signin.html',{'root': __dirname + '/templates'});
})

app.get('/showSignUpPage',function(req,res){
res.sendFile('signup.html',{'root':__dirname + '/templates'})
})

app.listen(3000,function(){
console.log('Node server running @ http://localhost:3000')
});

服务器.js

var http = require('http');

http.createServer(function (req, res) {

res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('Hello, world!');

}).listen(process.env.PORT || 8080);

我最初是从 server.js 获取结果,但我做了一些更改来尝试解决问题,但我却什么也没得到。有人能指出我的问题吗?

谢谢

编辑:添加 zip 即可执行此操作,创建另一级文件夹,并且我收到消息“您无权查看此目录或页面”。当我尝试运行应用程序时。

enter image description here

最佳答案

你需要改变

app.listen(3000,function(){
console.log('Node server running @ http://localhost:3000')
});

app.listen(process.env.PORT);

通过互联网访问 azure webapp 的唯一方法是通过已经公开的 HTTP (80) 和 HTTPS (443) TCP 端口;

我已经使用您的 web.config 和 app.js 测试了该项目。我会遇到和你一样的错误。

enter image description here

更改监听端口后,效果良好。可以引用这个article将您的nodejs应用程序部署到azure。 enter image description here

关于node.js - Node.js web 应用程序中的 NPM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55699277/

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