采用原生node.js路由时,相对路径的问题
在dos命令行中执行node命令时,直接使用绝对路径运行js文件,而在进行路由时,采用的是相对路径,于是出现no such file or directory.
而代码中路由时,采用的相对路径读取HTML文件,于是才有了不能找到文件的error.
出现该问题时,一开始没有通过throw error查看异常,浏览器访问指定url时,界面没有渲染出,但res.end能正确返回字符串,于是主观上认为是否是res.end不能正确返回html文件内容.
然后通过抛出的error发现其实是fs.readFile读取文件路径的问题.误以为node指令执行js文件后,相对路径是以所执行的js文件所在的目录为基准,但事实上,此时我们仍然处在dos窗口打开时的目录,相对路径此时是以dos窗口打开时的目录作为基准。
因此进入需要执行的js文件目录,再通过node执行相应的js文件,相对路径此时才是正确的.
能够正常路由了.