快递:子文件夹路径有问题

问题描述

我有一个项目,该项目既可以下载为独立文件夹(无Node / Express),也可以直接从文件系统运行,也可以在本地环境(使用node /表现)。现在我的文件系统看起来像这样:

term

我需要客户端文件夹独立运行,并从文件系统加载,因此转到main folder client images Image1.png Image2.jpeg sounds Sound1.mp3 Sound2.wav js loader.js Engine.js ... main.mjs index.html app.js node_modules ... package.json package-lock.json 或打开localhost文件也可以做到这一点。但是,现在我需要更改客户端文件夹内的每个链接,以使其正常工作。

例如,在index.html内,我有一行看起来像这样:

loader.js

但是当它作为独立文件运行时,它必须为:

Image1 = new Image();
Image1.src = '/client/images/image1.png'

如何设置我的快递服务器以处理第二种情况并将其视为第一种情况?现在,它不会将文件发送过来,只对请求的任何文件(索引除外)返回一个Image1 = new Image(); Image1.src = '../images/image1.png' 。看起来像这样:

404

我是新来表达的,所以任何建议都值得赞赏。

解决方法

结果证明,这很简单,只需使用:

app.use(express.static(__dirname + '/public'));

创建虚拟路径是个问题,因此,通过省略第一个参数,一切都可以正常工作。

./指向当前目录,../是上一个目录,而/js是js文件夹。