我的应用程序结构是:
/app
/css
/js
..
/script
/server.js
我在使用时尝试使用 __dirname 指向 /app 文件夹
app.use(express.static( __dirname + '/app'));
我真的不知道在网上搜索什么,请帮助。
我的应用程序结构是:
/app
/css
/js
..
/script
/server.js
我在使用时尝试使用 __dirname 指向 /app 文件夹
app.use(express.static( __dirname + '/app'));
我真的不知道在网上搜索什么,请帮助。
如果您在 server.js 中,那么您的意思是
app.use(express.static( __dirname + '/../app'));
您可以为此使用路径模块。
path 模块提供了用于处理文件和目录路径的实用程序。
const path = require('path');
app.use(express.static(path.join(__dirname, '..', 'app')));
__dirname 只是一个字符串,您可以对其进行字符串操作。
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 \ 一点。
我做了一个简单的解决方案,但它有效。在您的启动服务器脚本 js 中,您可以添加以下内容:
var publicFolder = __dirname + '/public/';
config.public_folder = publicFolder;
然后,当您需要访问此文件夹时,在子文件夹或路由中的代码中的其他位置,您需要注入公用文件夹变量。并像这样使用它:
res.sendFile(config.public_folder+'unsubscribed-success.html');