猿问

node.js 有时会出现链接脚本问题

您好,我创建了 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>


MM们
浏览 160回答 1
1回答

千巷猫影

在您的前端执行<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
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答