Go模板渲染时引入独立JS文件报错:Uncaught SyntaxError问题求助
解决
Uncaught SyntaxError: Unexpected token < JS引入错误 这个错误我之前踩过坑!Uncaught SyntaxError: Unexpected token <的核心原因很简单:浏览器请求你的app.js文件时,拿到的不是合法的JavaScript代码,而是HTML内容(最常见的就是404错误页面的HTML代码),所以它解析JS的时候碰到<就直接报错了。咱们一步步来排查:
1. 先确认文件路径绝对正确
- 别光靠感觉调整路径,直接在浏览器地址栏输入你写的
src对应的完整URL(比如http://localhost:5500/static/app.js或者http://localhost:5500/app.js),看看能不能正常加载出你的JS代码:- 如果跳转到404页面或者其他HTML,那路径肯定错了。比如你把app.js放在和HTML同级的目录,那应该用
src="app.js"而不是src="static/app.js";如果确实在static文件夹,要确认static文件夹和HTML文件在同一层级。 - 也可以试试用绝对路径(开头加斜杠):
src="/static/app.js",这个路径是从网站根目录开始找的,不容易出错。
- 如果跳转到404页面或者其他HTML,那路径肯定错了。比如你把app.js放在和HTML同级的目录,那应该用
2. 检查app.js文件本身的内容
- 是不是把原来HTML里的
<script>标签也复制到app.js里了?比如原来的代码是:
如果你连<script> // 你的JS代码 console.log("hello"); </script><script>和</script>标签一起粘到app.js里,那浏览器解析JS的时候看到<就会直接报错!一定要只复制标签内部的JS代码,不要带标签本身。
3. 排查服务器配置(如果用了本地服务器)
- 如果你是用live-server、Apache、Nginx或者框架自带的服务器,要确认静态文件目录的配置是否正确:
- 比如有些服务器默认不会识别
static文件夹为静态资源目录,导致请求app.js时返回404的HTML页面。 - 如果是用Python的
http.server,直接在项目根目录启动服务器就没问题;如果是其他服务器,要检查静态资源的映射规则。
- 比如有些服务器默认不会识别
4. 清除浏览器缓存
- 有时候浏览器会缓存之前错误的响应(比如之前路径错了返回的404页面),就算你后来改对了路径,浏览器还是会加载缓存的HTML内容。可以按
Ctrl+Shift+R强制刷新页面,或者打开开发者工具(F12),在Network标签里勾选「Disable cache」后再刷新试试。
内容的提问来源于stack exchange,提问作者jj1111
相关产品推荐
相关产品推荐

