Javascript 在html文件中调用的脚本最终引用的是本地主机地址,而不是本地文件夹

Javascript 在html文件中调用的脚本最终引用的是本地主机地址,而不是本地文件夹,javascript,node.js,express,Javascript,Node.js,Express,我使用express编写了一个简单的web服务器来显示HTML页面 const path = require('path'); const app = express(); app.use(express.static(__dirname + '/src')); app.get('/', function(req, res) { res.sendFile(path.join(__dirname + '/src/index.html')); }); app.listen(3000,

我使用express编写了一个简单的web服务器来显示HTML页面

const path = require('path');

const app = express();

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

app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname + '/src/index.html'));
});

app.listen(3000, ()=> console.log('Listening on port 3000'))
在html中,我调用了一个本地js文件,如下所示:

<script src="./src/file.js"><script>
当然,此地址不存在,因此不会加载它


在此问题上的任何帮助都将不胜感激

如果页面是从
localhost:3000
提供的,则
/
将是该域。我不确定我是否理解这个问题。请改用
。在HTML中,您需要使用URL路径,而不是文件系统路径(这是因为浏览器正在从服务器请求脚本,所以它应该是一个有效的URL,可以从“外部”工作)服务器;您在问题标题中描述的问题是唯一可行的方法;浏览器无法直接访问服务器硬盘)我也尝试了“/file.js”而不是“/file.js”,但我遇到了同样的问题。基于
express.static
行,如果你把
http://localhost:3000/file.js
在浏览器的地址栏中,按enter键,您应该可以看到脚本。它现在可以工作了!没有必要使用/src。如果你把它作为一个答案,我可以接受并投票给你。谢谢
GET http://localhost:3000/src/file.js net::ERR_ABORTED 404 (Not Found)