Express.js托管含客户端JS的HTML页面:脚本未运行问题排查
嘿,我一眼就揪出问题所在啦!你的HTML里script标签的属性拼写错了,这直接导致浏览器找不到你的script.js文件😯
核心问题:Script标签属性拼写错误
你在page.html里写的是:
<script scr="script.js"></script>
这里的scr是拼写错误,正确的属性名应该是src——这是指定脚本文件路径的标准属性。
修正步骤
- 打开
resources/page.html文件,找到上述script标签行 - 把
scr改成src,修正后的代码如下:<script src="script.js"></script> - 重启你的Express服务器(如果没开自动重启工具的话),然后刷新Chrome页面
验证是否修复成功
- 刷新页面后打开Chrome开发者工具(按F12),切换到Console面板,你会看到数字0到9依次打印出来啦
- 也可以去Network面板查看
script.js的请求状态,现在应该显示200(成功加载),而之前是404(文件未找到)
额外说明:你的Express配置是没问题的
其实你的index.js代码完全正确:
app.use(express.static(__dirname + '/resources'))已经把resources目录设为静态资源目录,所以script.js可以通过相对路径直接访问res.sendFile也正确返回了page.html文件,这就是页面能正常显示"Content"的原因
内容的提问来源于stack exchange,提问作者Partial Derivative
相关产品推荐
相关产品推荐

