如何在文件夹层次结构中使用__dirname
我的应用程序结构是:
/app /css /js .. /script /server.js
我正在尝试使用__dirname指向/ app文件夹
app.use(express.static( __dirname + '/app'));
我真的不知道要在网上search什么,请帮助。
如果你在server.js,那么你的意思是
app.use(express.static( __dirname + '/../app'));
你可以使用path模块。
path模块提供了用于处理文件和目录path的实用程序。
const path = require('path'); app.use(express.static(path.join(__dirname, '..', 'app')));
__dirname只是一个string,你可以对其进行string操作。
app.use(express.static(__dirname.substring(0, __dirname.indexOf("\\routes") + '\app'));
我会说实话,我用它来达到不同的目的:
res.sendFile('./uploads/' + req.params.id + '/' + req.params.filename, {"root": __dirname.substring(0, __dirname.indexOf("\\routes"))});
所以你可能需要使用/ vs \一点。
我做了一个简单的解决scheme,但它的作品。 在启动服务器脚本js中,您可以添加以下内容:
var publicFolder = __dirname + '/public/'; config.public_folder = publicFolder;
然后,无论何时您需要访问此文件夹其他位于子文件夹或path代码中的位置,您都需要注入公用文件夹variables。 并像这样使用它:
res.sendFile(config.public_folder+'unsubscribed-success.html');