node.js ReferenceError: 路径未在 Object.handle 中定义
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/40689659/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
ReferenceError: path is not defined at Object.handle
提问by Shany Chen
js file,
js文件,
app.get('/',function(req,res){
res.sendfile(_dirname + '/index.html');
});
node.js can start ,but I got this error,
node.js 可以启动,但我收到此错误,
ReferenceError: path is not defined at Object.handle (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\app.js:12:15) at next_layer (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\route.js:103:13) at Route.dispatch (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\route.js:107:5) at E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:195:24 at Function.proto.process_params (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:251:12) at next (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:189:19) at Layer.expressInit [as handle] (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\middleware\init.js:23:5) at trim_prefix (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:226:17) at E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:198:9 at Function.proto.process_params (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:251:12)
ReferenceError: path is not defined at Object.handle (E:\javaEEstudy\node.js\node.js 入门经典\socket\socket.io_express\app.js:12:15) at next_layer (E:\javaEEstudy\node. js\node.js 入门经典\socket\socket.io_express\node_modules\express\lib\router\route.js:103:13) at Route.dispatch (E:\javaEEstudy\node.js\node.js 入门经典\ socket\socket.io_express\node_modules\express\lib\router\route.js:107:5) 在 E:\javaEEstudy\node.js\node.js 入门经典\socket\socket.io_express\node_modules\express\lib\ router\index.js:195:24 at Function.proto.process_params (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:251 :12) 在接下来(E:\javaEEstudy\node.js\node.js 入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:189:19)在Layer.expressInit [作为句柄] (E:\javaEEstudy\node.js\node.js 入门经典\socket\socket.io_express\node_modules\express\lib\middleware\init.js:23:5) at trim_prefix (E:\javaEEstudy\node.js\node.js入门经典\socket\socket.io_express\node_modules\express\lib\router\ index.js:226:17) 在 E:\javaEEstudy\node.js\node.js 入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:198:9 在Function.proto。 process_params (E:\javaEEstudy\node.js\node.js 入门经典\socket\socket.io_express\node_modules\express\lib\router\index.js:251:12)io_express\node_modules\express\lib\router\index.js:251:12)io_express\node_modules\express\lib\router\index.js:251:12)
the index.html and app.js is on the same file ,express version is 4.x
index.html 和 app.js 在同一个文件中,express 版本是 4.x
回答by Hanjun Chen
First you should use
首先你应该使用
res.sendFile()
instead of
代替
res.sendfile()
Second, the parameter of the above-mentioned method should be
二、上述方法的参数应该是
__dirname+'index.html'
instead of
代替
_dirname+'index.html'
In other words
换句话说
app.get('/',function(req,res){
res.sendFile(__dirname + '/index.html');
});
Also you have to declare pathin your Node.js app:
您还必须path在 Node.js 应用程序中声明:
var path = require("path");
回答by SANTHOSH THIRUPATHI
var express = require('express');
var app = express();
var path=require('path');
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: false }));
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
});
var server = app.listen(5000, function () {
console.log('Node server is running..');
});

