文件存放位置如图所示。
我再sever.js文件里,加载了static/model里的getmime.js模块
//sever.js文件
var mimeModle = require('./static/model/getmime.js');
var mimeFile = mimeModle.getMime(".html");
console.log(mimeFile);
getmime.js文件里这么写:
//getmime.js文件
var fs = require("fs");
exports.getMime=function(extname){ /*获取后缀名的方法*/
var Mime = fs.readFileSync("./static/model/mime.json");
var Mimes=JSON.parse(Mime.toString()); /*把json字符串转换成json对象*/
return Mimes[extname] || 'text/html';
}
问题在于getmime.js里,访问mime.json路径这块。这两个文件在同一个目录下,按理说,访问路径应该是./mime.json
才是,但是这么写会报错,提示是在sever.js相同的那个目录下找不到文件。必须写成./static/model/mime.json
这样才可以。怎么会出现这样的问题?
fs.readFileSync('./')中的相对路径是相对于当前执行文件的,所以解决方案有两种:
使用绝对路径(推荐)