javascript - 访问 Node.js 中当前文件夹之外的文件

标签 javascript node.js

我正在尝试在主服务器的文件夹内创建一个用于在 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/

相关文章:

javascript - RequireJS——总是加载库的依赖

node.js - NodeJS 所需的模块在其他模块中不可用

node.js - Jade 模板中如何使用下划线

javascript - Bluebird promisified 库的结果作为错误返回

javascript - 多个设备的图像响应?

c# - 使用 Javascript 显示 Asp.Net 页面

javascript - Bootstrap 轮播,修改为显示多个元素。 Firefox 和 IE 无法正常工作

javascript - 为什么 prototype.js 会干扰不相关的 javascript 操作?

node.js - 为什么要使用 Socket.io?

node.js - 如何使用VueJs添加img src属性