Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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 如何使用Node/Express为我的web应用提供服务?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 如何使用Node/Express为我的web应用提供服务?

Javascript 如何使用Node/Express为我的web应用提供服务?,javascript,node.js,express,Javascript,Node.js,Express,我可能会问一个巨大的noob问题,这是我在这里问过的最糟糕的问题之一,但我对Node/Express非常迷茫。我只使用过Apache服务器(典型的WAMP/XAMP用于测试目的),所以我完全不知道我必须做什么才能为我的web应用提供服务 我的文件夹树如下所示: 万维网 nodeserver.js (更多内容) Liteconomy(我的web应用程序) js css 插件 模板 index.html 升华计划 很典型吧?好的,我一直在寻找如何使用localhost:8080/Lite

我可能会问一个巨大的noob问题,这是我在这里问过的最糟糕的问题之一,但我对Node/Express非常迷茫。我只使用过Apache服务器(典型的WAMP/XAMP用于测试目的),所以我完全不知道我必须做什么才能为我的web应用提供服务

我的文件夹树如下所示:

  • 万维网
    • nodeserver.js
    • (更多内容)
    • Liteconomy(我的web应用程序)
      • js
      • css
      • 插件
      • 模板
      • index.html
      • 升华计划

很典型吧?好的,我一直在寻找如何使用localhost:8080/Liteconomy或localhost:8080/Liteconomy.html这样的简单访问为这个应用程序提供服务。在那之后,我的角度路由将完成其余的工作,但我就是不能为应用提供服务

我已经在nodeserver.js中编写了以下内容:

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

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(8080, function () {
  console.log('Example app listening on port 8080!');
});

app.get('/Liteconomy', function (req, res) {
  res.send('Liteconomy/index.html');
});

当我执行它并访问localhost:8080时,我得到了“Hello world”,但当我转到localhost:8080/Liteconomy时,我得到了以下纯文本:“Liteconomy/index.html”。如果我试图直接访问索引资源,就会出现“Cannot get/Liteconomy/index.html”错误


我也尝试过使用静态的东西,但也不起作用


我做错了什么?我想我只是错过了一些非常重要的事情。

执行以下操作,它将解决您的问题

var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var app = express();


 app.use(bodyParser.json());
 app.use(bodyParser.urlencoded({ extended: false }));
 app.use(cookieParser());

// uncomment following if you want to access your app from /liteconomy
//app.use('/liteconomy', express.static(__dirname + '/Liteconomy', {index: "index.html"}));

//This will enable you to access it form '/'
app.use('/', express.static(__dirname + '/Liteconomy', {index: "index.html"}));

// Rest of the stuff
然后,如果您将访问您设置的URL和端口,您将能够访问

建议使用
express.static
提供静态内容


希望有帮助

执行以下操作,它将解决您的问题

var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var app = express();


 app.use(bodyParser.json());
 app.use(bodyParser.urlencoded({ extended: false }));
 app.use(cookieParser());

// uncomment following if you want to access your app from /liteconomy
//app.use('/liteconomy', express.static(__dirname + '/Liteconomy', {index: "index.html"}));

//This will enable you to access it form '/'
app.use('/', express.static(__dirname + '/Liteconomy', {index: "index.html"}));

// Rest of the stuff
然后,如果您将访问您设置的URL和端口,您将能够访问

建议使用
express.static
提供静态内容


希望有帮助

您得到的是一个纯文本答案,因为您实际上要求使用以下选项:

app.get('/Liteconomy', function (req, res) {
   res.send('Liteconomy/index.html');
});
如果要发送简单的html文件,如index.html文件,应使用“sendfile”功能:

app.get('/Liteconomy', function (req, res) {
   res.sendfile(__dirname + '/Liteconomy/index.html');
});
“\uuuDirName”表示根目录路径,然后您只需输入文件路径

希望有帮助


PS:默认情况下,express附带了jade和ejs模板支持,而不仅仅是使用html。我建议您看看其中一个,它对构建应用程序网页非常有帮助。

您会得到一个纯文本的答案,因为您实际上要求使用:

app.get('/Liteconomy', function (req, res) {
   res.send('Liteconomy/index.html');
});
如果要发送简单的html文件,如index.html文件,应使用“sendfile”功能:

app.get('/Liteconomy', function (req, res) {
   res.sendfile(__dirname + '/Liteconomy/index.html');
});
“\uuuDirName”表示根目录路径,然后您只需输入文件路径

希望有帮助


PS:默认情况下,express附带了jade和ejs模板支持,而不仅仅是使用html。我建议您看看其中的一个,它对构建应用程序网页非常有帮助。

“我得到了以下纯文本:“Liteconomy/index.html”-是的。您将纯文本发送到
send()
方法,这就是您得到的。”我也尝试使用静态内容,但也不起作用。-如果你想提供静态文件,那么“静态的东西”就是你应该使用的。如果您不向我们展示您使用它的尝试,我们无法解释它为什么不起作用。需要记住的重要一点是,Node不是web服务器。这是一种运行JavaScript的方法。您正在尝试用JS编写web服务器。“在这之后,我的角度路由将完成其余工作,但我无法为应用程序提供服务。”-如果您不想做更多的工作,请不要使用Node.JS。这就像当你只需要一个标准的电钻时,使用一把超级定制的瑞士军刀。使用Apache或Lightty或其他使提供静态文件变得简单的工具。请看express文档中的
res.sendFile()
。“我得到了以下纯文本:“Liteconomy/index.html”。-是的。您将纯文本发送到
send()
方法,这就是您得到的。”我也尝试使用静态内容,但也不起作用。-如果你想提供静态文件,那么“静态的东西”就是你应该使用的。如果您不向我们展示您使用它的尝试,我们无法解释它为什么不起作用。需要记住的重要一点是,Node不是web服务器。这是一种运行JavaScript的方法。您正在尝试用JS编写web服务器。“在这之后,我的角度路由将完成其余工作,但我无法为应用程序提供服务。”-如果您不想做更多的工作,请不要使用Node.JS。这就像当你只需要一个标准的电钻时,使用一把超级定制的瑞士军刀。使用Apache或Lightty或其他使提供静态文件变得简单的工具。查看express文档中的
res.sendFile()
。它有3个未解析的依赖项。我安装了bodyParser和cookieParser,但现在它告诉我它找不到“logger”模块。@Zerok这只是一个输入错误,因为我从现有代码中复制了它,忘记了删除logger,顺便说一句,我的应用程序使用了
'morgan'
,我认为它不值得投反对票,在使用node时,body解析器和cookie解析器是标准的良好实践,以防将来您打算使用router使用查询和海关路线,这些都会派上用场。无论如何,谢谢你的意见,我很感激!:)继续努力,我的朋友。谢谢你!现在它工作得很好:)我要把它用作我服务器的基础,并尝试从中学习和添加更改。@Zerok如果你对构建一个好的express应用程序感兴趣,我有一个分步博客,你可能会发现它很有帮助。它有3个未解析的依赖项。我安装了bodyParser和cookieParser,但现在它告诉我它找不到“logger”模块。@Zerok这只是一个输入错误,因为我从现有代码中复制了它,忘记了删除logger,顺便说一句,我的应用程序使用了
'morgan'
,我认为它不值得投反对票,和body解析器和cookie解析器是处理节点时的标准良好实践,以防将来您打算使用query和c