Vue引入外部js文件报 Uncaught SyntaxError: Unexpected token < 错误

Vue在引入外部js文件时候,一般写在index.html中,js文件放在根目录下面的static文件夹中,
写法如下:

<script src="./static/xxx.js"></script>

如果是vue-cli3的脚手架把要引入的文件放在public根目录的文件夹里面要跟index.html放在同一路径

  <script src="xxx.js"></script>

引入后发现,在进入二级路由(例如:http://www.xxxxxxxxx.com/first/second),刷新页面,发现控制台报错:

Uncaught SyntaxError: Unexpected token <

原因是在vue-router的history模式下,系统会认为是进入了二级目录,这样在index.html引入的js文件路径就回发生错误。
解决方法如下(使用绝对路径,或者引入时相对路径从根目录开始)

绝对路径
<script src="http://www.yourdomain.com/static/xxx.js"></script>

相对路径从根目录开始
<script src="/static/xxx.js"></script>
Logo

前往低代码交流专区

更多推荐