发布时间:2023-04-21 文章分类:WEB开发, 电脑百科 投稿人:王小丽 字号: 默认 | | 超大 打印

参考 解决 Uncaught SyntaxError: Unexpected token ‘<‘ 错误解决方法_zlting~的博客-CSDN博客

很有用 记录一下

前言:你可以试试清除缓存这种最直接的方法 说不定就解决了   如果解决不了在参看以下步骤

问题:在vue项目中引入静态资源,放在public文件夹里使用绝对路径本地运行是没问题的,打包后发布到正式环境却报此错误 Uncaught SyntaxError: Unexpected token ‘<‘

问题方向:这样的问题一般都是我们在打包后引入的资源路径出错的问题

解决方法:我们可以在URL路径前面加上一个公共的路径,即我们的打包配置中publicpath的前缀  <%= BASE_URL %>

或者:只要把这里的 publicPath 设置为 "/" 就行,前面不要加点,改了之后问题就解决了。

提示:其实系统默认就是‘/’,只是部署的时候看到别人的文章都说需要改,就加了个’.’上去,后来发现其实不改就可以了,改了反而会报错,最新版的vue在部署的时候已经不需要修改默认的路径了。

1、public 目录提供的是一个应急手段,当通过绝对路径引用时,需要留意应用会部署到哪里。如果没有部署在域名的根部,需要为你的 URL 配置 publicPath 前缀:

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

由于项目正式环境没有部署在域名的根部,所以需要在URL中配置publicPath 前缀

<script src="<%= BASE_URL %>js/xx.js"></script>

在vue.config.js中声明,正式环境前缀需带上“/demo”,那么这里的BASE_URL就相当于/demo

publicPath: process.env.NODE_ENV === "production" ? "/demo" : "/",

2、static 目录,与src同级,一般存放第三方文件,不会被 webpack 解析,会直接被复制到最终的打包目录(默认是 dist/static )下,必须使用绝对路径引用,这些文件是不会变动的。
3、assets目录,在编译过程中会被 webpack 处理,当做模块依赖,只支持相对路径的形式。一般放置可能会变动的文件。

注:public 与 static的区别在于:static是vue2.x以下版本的,vue2.x以上的就换成public目录了