Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过express.js设置服务器时出错_Javascript_Node.js_Express - Fatal编程技术网

Javascript 通过express.js设置服务器时出错

Javascript 通过express.js设置服务器时出错,javascript,node.js,express,Javascript,Node.js,Express,这是我的server.js文件,当我尝试使用Express.js设置服务器时,出现了下面提到的错误 var express = require('express'); var app = express(); var PORT = process.env.PORT || 3000; app.all('/*', function(req, res) { res.send('<!DOCTYPE html> <head> <title> Todo A

这是我的server.js文件,当我尝试使用Express.js设置服务器时,出现了下面提到的错误

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

 var PORT = process.env.PORT || 3000;

 app.all('/*', function(req, res) {
    res.send('<!DOCTYPE html> <head> <title> Todo App </title> </head> <body> <h1>This is a Todo App </h1> </body> </html>');
});

app.listen(PORT, function() {
    //callback
    console.log('Server running on ' + PORT);
});

在改进了格式并删除了代码中的“`”之后,运行这组代码没有问题

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

 var PORT = process.env.PORT || 3000;

 app.all('/*', function(req, res) {
    res.send('\
        <!DOCTYPE html>\
            <head>\
                <title> Todo App </title>\
            </head>\
            <body>\
                 <h1>This is a Todo App </h1>\
            </body>\
       </html>\
    ');
});

app.listen(PORT, function() {
    //callback
    console.log('Server running on ' + PORT);
});
var express=require('express');
var-app=express();
var PORT=process.env.PORT | 3000;
应用程序所有(“/*”,函数(请求,恢复){
res.send('\
\
\
待办事项应用程序\
\
\
这是一个待办事项应用程序\
\
\
');
});
app.listen(端口,函数(){
//回拨
log('在'+端口上运行的服务器');
});

注意:您声明了
端口
变量,但在
app.listen()中使用了
端口
变量。在改进格式并删除代码中的“`”之后,我运行这组代码没有问题

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

 var PORT = process.env.PORT || 3000;

 app.all('/*', function(req, res) {
    res.send('\
        <!DOCTYPE html>\
            <head>\
                <title> Todo App </title>\
            </head>\
            <body>\
                 <h1>This is a Todo App </h1>\
            </body>\
       </html>\
    ');
});

app.listen(PORT, function() {
    //callback
    console.log('Server running on ' + PORT);
});
var express=require('express');
var-app=express();
var PORT=process.env.PORT | 3000;
应用程序所有(“/*”,函数(请求,恢复){
res.send('\
\
\
待办事项应用程序\
\
\
这是一个待办事项应用程序\
\
\
');
});
app.listen(端口,函数(){
//回拨
log('在'+端口上运行的服务器');
});

注意:您声明了
端口
变量,但在
app.listen()中使用了
端口
变量。您的问题很可能是基于多行HTML字符串的格式。尝试发送一些更简单的东西,如
'hello'
,以确保它能正常工作。然后一次添加几个标记,直到找到错误所在

app.get('/', function(req, res) {
  res.send('hello');
});
<>最后,您应该考虑使用模板系统来返回单独的HTML文件,而不是尝试构建原始HTML字符串。您需要对原始字符串执行的转义将难以调试,因为它们只是字符串,所以javascript引擎不知道它们在哪一行出错

app.get('/', function(req, res) {
  // __dirname will resolve to your project folder
  res.sendFile(path.join(__dirname + '/index.html'));
});

您的问题很可能与多行HTML字符串的格式有关。尝试发送一些更简单的东西,如
'hello'
,以确保它能正常工作。然后一次添加几个标记,直到找到错误所在

app.get('/', function(req, res) {
  res.send('hello');
});
<>最后,您应该考虑使用模板系统来返回单独的HTML文件,而不是尝试构建原始HTML字符串。您需要对原始字符串执行的转义将难以调试,因为它们只是字符串,所以javascript引擎不知道它们在哪一行出错

app.get('/', function(req, res) {
  // __dirname will resolve to your project folder
  res.sendFile(path.join(__dirname + '/index.html'));
});

我也有同样的问题。这是由文件编码引起的。我的意思是,我用powershell命令创建
server.js
文件
'>>server.js
,然后我看到了这个错误,但当我用IDE创建文件时,同样的内容错误消失了。

我也遇到了同样的问题。这是由文件编码引起的。我的意思是,我使用powershell命令创建
server.js
文件
'>>server.js
,然后我看到了这个错误,但当我使用IDE创建文件时,相同的内容错误消失了。

我想要回答你的问题,我们需要更多关于你的环境以及你正在使用的东西的版本的信息:

 node -v # v6.11.1
 npm -v # 3.10.10
下面是我在MacOS和bash上所做的并获得成功的实际步骤

$ mkdir test-express
$ cd test-express
$ npm install express
$ cat <<EOF > index.js
var express = require('express');
var app = express();

var PORT = process.env.PORT || 3000;

app.all('/*', function(req, res) {
    res.send('<!DOCTYPE html> <head> <title> Todo App </title> </head> <body> <h1>This is a Todo App </h1> </body> </html>');
});

app.listen(PORT, function() {
    //callback
    console.log('Server running on ' + PORT);
});
EOF
$ node index.js
Server running on 3000
$mkdir测试快车
$cd测试快车
$npm安装快捷版

$cat我认为要回答您的问题,我们需要更多关于您的环境以及您正在使用的东西的版本的信息:

 node -v # v6.11.1
 npm -v # 3.10.10
下面是我在MacOS和bash上所做的并获得成功的实际步骤

$ mkdir test-express
$ cd test-express
$ npm install express
$ cat <<EOF > index.js
var express = require('express');
var app = express();

var PORT = process.env.PORT || 3000;

app.all('/*', function(req, res) {
    res.send('<!DOCTYPE html> <head> <title> Todo App </title> </head> <body> <h1>This is a Todo App </h1> </body> </html>');
});

app.listen(PORT, function() {
    //callback
    console.log('Server running on ' + PORT);
});
EOF
$ node index.js
Server running on 3000
$mkdir测试快车
$cd测试快车
$npm安装快捷版


$cat为什么
res.send('\`带反斜杠?请尝试使用
res.send('hi'))5944(“\`带反斜杠?尝试使用
res.send('hi'))运行节点服务器的一切都已完美设置您可以尝试@Soviut said。只需发送一个
'hello'
以确保服务器运行完美。我仍然收到相同的错误。我已经为运行节点服务器做好了一切完美设置。您可以尝试@Soviut said。只需发送一个
'hello'
以确保服务器运行得很好。您尝试了使用
/
而不是
/*
进行路由?@Soviut
/*
不是problem@VikramPrasad您能否确保您的代码与image@VikramPrasad完全相同,以及您如何运行节点应用程序?@VikramPrasad使用
节点服务器
删除
.js
,您就可以用
/
而不是
/*
来代替您的路线?@Soviut
/*
不是problem@VikramPrasad您能否确保您的代码与image@VikramPrasad完全相同,以及您如何运行节点应用程序?@VikramPrasad使用
节点服务器
删除
.js