Javascript vue cli-未捕获的语法错误:意外标记<;

Javascript vue cli-未捕获的语法错误:意外标记<;,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我使用vue cli 3.0创建项目。最初它运行正常。但是在我-c然后npm再次运行serve之后,它不断抛出错误: 未捕获语法错误:意外标记我假设您使用的控制台窗口与用于vue ui或vue create启动项目的控制台窗口相同 然后尝试打开一个新的控制台实例并在其中运行您的项目 在我的例子中,它起作用了,问题是第一个控制台中的环境变量被覆盖了 祝你好运 我也遇到了同样的问题,我尝试删除节点模块并再次安装npm,但没有成功 所做的工作是删除所有站点数据。您可以通过打开“开发”选项卡(Ctrl+

我使用
vue cli 3.0
创建项目。最初它运行正常。但是在我
-c
然后
npm再次运行serve
之后,它不断抛出错误:


未捕获语法错误:意外标记我假设您使用的控制台窗口与用于
vue ui
vue create
启动项目的控制台窗口相同

然后尝试打开一个新的控制台实例并在其中运行您的项目

在我的例子中,它起作用了,问题是第一个控制台中的环境变量被覆盖了


祝你好运

我也遇到了同样的问题,我尝试删除节点模块并再次安装npm,但没有成功

所做的工作是删除所有站点数据。您可以通过打开“开发”选项卡(Ctrl+Shift+i),进入“应用程序”选项卡,单击侧面板上的“清除存储”,然后单击“清除站点数据”按钮(在Chrome中)来完成此操作

我的猜测是,我仍然有一些老服务人员拦截了请求并提供了html文件而不是app.js。因此,如果您以前在url“”处使用过PWA,这可能会解决问题。

我也有同样的问题。 在index.html文件中,我只写了这个脚本标记,如下所示:

  <script src="./static/js/qrcode.min.js"></script>
所以,在线一切都正常,但在我的本地项目运行中,它将得到这个错误

最后,我发现:

联机url地址:

本地url地址:

(ps:test0001参数无法删除,我的项目需要它)

如果删除此参数“test0001”,则此错误不会显示在本地项目测试中

我猜构建和开发环境的差异导致了这个错误,我的参数test0001位于url地址中

最后,我只是使用一个参数来区分这个产品和解决它的开发


如果有人遇到像我这样的问题,请分享您的解决方案。

我在尝试运行vue ui时遇到此错误。这是在我安装vue cli 2.0和3.0时发生的

因此,我同时卸载并安装了3.0,然后:

我所要做的就是在chrome中清空缓存并重新加载

按f12打开开发者工具,然后单击并按住刷新按钮,然后选择清空现金和硬重新加载


我不确定这是否与您的特定问题有关。

卸载CLI并在Chrome中重新安装V3+A“硬”刷新就成功了。 也许仅仅一次硬刷新就足够了(CTRL+F5)

尝试将
添加到index.html的
中。希望它能起作用

它表明错误发生在app.js的第一行,但我 签入控制台<实际上来自index.html。也就是说 在这个过程中,Web包ThinkIndex.html应该是 以app.js格式传输

在我的例子中,情况正好相反:我添加了一个url重写问题。一个非常广泛的规则是,我的js和css资产被重定向到index.html,这就是为什么我在js或css文件的开头添加一个<

因此,如果您也是这样,那么问题就出在您的后端(JavaSpring和javax.Filter for the urlrewrite for me)。因此,如果它可以帮助某人,下面是urlrewrite.xml的正确部分:

<rule match-type="wildcard">
  <from>/assets/**</from>
  <to last="true">-</to>
 </rule>

 <rule match-type="wildcard">
   <from>/index.html</from>
     <to last="true">-</to>
 </rule>

 <rule match-type="wildcard">
   <from>/**</from>
     <to>/index.html</to>
 </rule>

/资产/**
-
/index.html
-
/**
/index.html

当我尝试将javascript文件链接到index.html时,我遇到了相同的错误

配置:Django(后端)-Vue(前端)-Daphne-Nginx

Django URL.py通过定义的“vuejs/index.html”视图将每个连接(以前定义的连接除外,例如API)路由到index.html。javascript文件需要通过
{%include“path”%}
合并,并通过Django呈现。双大括号{{}对Django来说意味着什么,这就是为什么需要在Javscript文件(参见main.js)中将分隔符更改为
['['[',']]']

vuejs/index.html:

<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
</head>
<body>
<div id="vue-app">
[[name]]
</div>
<script>
{% include "vuejs/src/main.js" %}
</script>
</body>
</html>
new Vue({
delimiters: ['[[', ']]'],
el: '#vue-app',
data: {
name: 'Vodka Gorbatschow',
}
});

您可能在index.htmlsrc属性中使用了“/”前缀作为相对路径,只需将其替换为,即可正常工作。

此结构将是相同的,即使您的路由具有路由参数(),因为您已经实现了动态路由匹配,并且使用了相同的Vue组件(User.Vue)


此时,“/”可能指向user/1234/js/config.js,因此它会转到一个默认的404页面,它是一个以“”开头的HTML文件,因此您得到了“未捕获的语法错误:意外的令牌在使用Vue CLI 3.10部署到Azure web服务器上的子目录时,我遇到了相同的问题。我们的站点很好,直到我们将路由从历史更改为哈希模式,这导致了这个错误

我必须更改index.html页面中的链接才能使其正常工作

部署构建为您提供了以下功能

<link href=/css/chunk-095570c7.ceb55529.css rel=prefetch>

…但我们必须将其更改为以下内容才能正常工作

<link href="css/chunk-095570c7.ceb55529.css" rel=prefetch>

使用带有所有CLI插件的
serve
+4.1版,使用Vue CLI 3随机遇到此错误

事件虽然我在web浏览器中启用了
禁用缓存
检查工具,但我必须通过清除
缓存存储
,为本地开发解决此问题:

打开
检查工具
应用程序
(选项卡)>
缓存
(树)>右键单击标签以
结尾的条目上的
删除
http://localhost:8080

没有尝试右键单击
缓存存储
>
刷新缓存
,是否也可以工作

如果您在生产中遇到此问题,这不是您的答案
,您需要以其他方式解决此问题,以确保您的应用程序能够为不知道如何执行此操作的最终用户使用。。。
new Vue({
delimiters: ['[[', ']]'],
el: '#vue-app',
data: {
name: 'Vodka Gorbatschow',
}
});
//<script src="./js/config.js">
<script src="<%= BASE_URL %>js/config.js">
user/js/config.js
<link href=/css/chunk-095570c7.ceb55529.css rel=prefetch>
<link href="css/chunk-095570c7.ceb55529.css" rel=prefetch>
// vue.config.js
module.exports = {
  publicPath: '/',
};
// vue.config.js
module.exports = {
  publicPath: process.env.NODE_ENV === 'production'
    ? '/something/'
    : '/'
};
<script src="{{ asset('js/app.js') }}" defer></script>