Javascript 如何定义从url模块提取的路径名?
这是我的server.js文件代码片段。该文件使用ES6格式从http模块导入http,它还要求url能够提取url的不同部分。我定义了一个名为pathname的变量,并将其设置为url.paerse(req.url.pathname) 我还有一个router.js文件,它应该是提取路径名的根请求Javascript 如何定义从url模块提取的路径名?,javascript,node.js,ecmascript-6,es6-modules,es6-module-loader,Javascript,Node.js,Ecmascript 6,Es6 Modules,Es6 Module Loader,这是我的server.js文件代码片段。该文件使用ES6格式从http模块导入http,它还要求url能够提取url的不同部分。我定义了一个名为pathname的变量,并将其设置为url.paerse(req.url.pathname) 我还有一个router.js文件,它应该是提取路径名的根请求 function route(){ console.log(`About to route a request for ${pathname} `); } export {route}; 然后
function route(){
console.log(`About to route a request for ${pathname} `);
}
export {route};
然后我有我的index.js文件,我在其中导入所有模块,并使用index.js作为我的应用程序的入口点。
我正在从server.js文件导入start函数,并从我的router.js文件导入require a router
import {start} from "./server";
let router = require("./router");
start(router.route);
当我运行代码时,我得到以下错误
```PS C:\Users\paullaster-geek\OneDrive\Desktop\Projects\Dive node> node -r
esm index.js
Response ready
Request for / recieved
ReferenceError: pathname is not defined
at route (C:\Users\paullaster-geek\OneDrive\Desktop\Projects\Dive
node\router.js:2:49)
at Server.onRequest (C:\Users\paullaster-
geek\OneDrive\Desktop\Projects\Dive node\server.js:9:9)
at Server.emit (events.js:314:20)
at Server.EventEmitter.emit (domain.js:486:12)
at parserOnIncoming (_http_server.js:781:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:119:17)
PS C:\Users\paullaster-geek\OneDrive\Desktop\Projects\Dive node>
您的问题在此函数声明中。您应该将
路径名
作为参数接收:
function route(pathname){
console.log(`About to route a request for ${pathname} `);
}
函数路由(路径名){}运行良好。
function route(pathname){
console.log(`About to route a request for ${pathname} `);
}