您好,我创建了 SPA 客户端 - 这里一切正常(使用 vanilla-router)但是尝试加载链接脚本时,服务器 node.js 有时会给我错误未捕获的语法错误:意外的标记“<”仅当我在 url (/) 中使用多个反斜杠时才会出现错误。例如localhost:3000 - 没问题(已加载脚本)localhost:3000/test - 没问题localhost:3000/about - 没关系本地主机:3000/test/test - 错误localhost:3000/profile/user - 错误我的服务器代码app.use(express.static(__dirname + '/dist'));app.get('*', function(req, res){ res.sendFile(path.resolve(__dirname, 'index.html'));});在 dist 文件夹中我有 test.js 脚本我的 index.html 代码<script src="test.js" ></script>
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
在您的前端执行<script src="test.js" ></script>
时,它将尝试从“当前文件夹”中获取,因此如果您在页面上localhost:3000/test/test
,它将尝试加载localhost:3000/test/test.js
,这意味着您的后端将寻找dist/test/test.js
可能不存在的 ,从而导致加载而是您的索引页面(为您提供有关意外的错误消息<
)。
更改您的前端以使用:
<script src="/test.js" ></script>
注意前面添加的斜线,表示它将尝试从根目录加载,即无论您在前端的哪个页面,它都会加载localhost:3000/test.js
添加回答
举报
0/150
提交
取消