我正在尝试在主服务器的文件夹内创建一个用于在 Node.js 中进行路由的模块,如下所示。
+root.js (server main)
+modulos (folder where rutas.js is)
++rutas.js
+shalimar (folder where all the static files are)
++muestrame.html (I want to send this)
我的代码如下:
root.js (main server)
var express = require('express');
var router_app = require('./modulos/rutas');
web.listen(4200, function() {
console.log('Servidor Web Iniciado en el Puerto : 4200');
});
web.use(express.static(__dirname + '/shalimar'));
web.use('/app', router_app);
这里我在模数内调用 rutas.js
rutas.js (inside modulos)
var express = require('express');
var router = express.Router();
router.get('/', (entra, sale) => {
console.log('Cargando desde routing.js');
sale.sendFile('/shalimar/muestrame.html', {root : __dirname});
});
抛出此错误:
Error: ENOENT: no such file or directory, stat 'C:\Users\Eleazar Ortega\desktop\uneweb\modulos\shalimar\muestrame.html'
我的问题是如何在文件夹中升级(模数外)以访问shalimar/muestrame.html
最佳答案
是的,__dirname
是当前文件夹的值,因此它仍然相对于modulos
。您必须将该值存储到一个变量中,并从根目录中的索引文件传递它。
为什么不直接做'../shalimar/muestrame.html'
?
或者更好path.resolve('../shalimar/muestrame.html')
关于javascript - 访问 Node.js 中当前文件夹之外的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47458680/