允许请求沿express.js中的目录树(../)向上移动

时间:2017-06-19 11:49:59

标签: node.js express webserver

可能有一个答案,但我不知道如何正确地说出来,所以我只是问。

我使用名为build-url的模块。它专为浏览器设计,提供了一种使用查询参数构建URL的简便方法。

我想将我的网站存储在名为site的文件夹中,而不必在网址中输入。我设法轻松地做到了。但是,当客户端要求build-url.js文件时,他会收到404

这里是文件夹结构的样子:

node_modules
    build-url
        dist
            build-url.js

site
    index.html

在我的代码中,我有:

app.use("/", express.static(__dirname + "/site"));

问题

当我转到http://localhost:5000/时,index.html文件已投放,一切正常。在里面,我包括脚本:

<script src="../node_modules/build-url/dist/build-url.js"></script>

但是,在浏览器控制台中,我看到:

  

获取http://localhost:5000/node_modules/build-url/dist/build-url.js 404(未找到)

服务器在<{1}}文件夹中查找,而不是在目录树上。 我该如何解决?

1 个答案:

答案 0 :(得分:0)

允许您的Web服务器从指定文件夹外部发送文件不是一个好主意,因为它允许坏人从您的服务器下载任何内容,包括您的机密数据。

您可以将所需文件复制到静态文件夹,也可以设置 gulp 或任何其他自动化工具自动执行此操作。