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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-02 17:49:50  来源:igfitidea点击:

ReferenceError: path is not defined at Object.handle

node.jsexpress

提问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..');
});