Vue路由器生产版本抛出Uncaught SyntaxError

时间:2020-10-26 22:38:21

标签: javascript vue.js npm vue-router production-environment

我的Vuejs应用的生产版本遇到问题。 我正在使用npm run build命令创建生产构建,并使用serve -s dist运行构建。 Vue路由器已实现,并且除参数化(product)的路径外,对所有路径均适用。我的index.js

export default new Router({
  routes: [
    {
      path: '/',
      component: Layout,
      children:[
        {
          path:'/',
          component:Home,
          name:'Home'
        },
        {
          path:'/shop',
          component:Shop,
          name:'Shop'
        },
        {
          path:'/product/:id',     // navigating to this one throws the error
          component:Product,
          name:'Product'
        },
        // ...
      ]
    }
  ],
  mode:'history'
}

错误看起来像这样的Uncaught SyntaxError: Unexpected token '<',并且发生在manifest.xxx.jsvendor.xxx.jsapp.xxx.js中。我检查了这些js文件的源代码,但找不到不合适的'<'。 如果我使用npm run dev运行开发服务器,则不会发生此错误。

有人知道什么可能导致此行为吗? 预先感谢您的帮助!

2 个答案:

答案 0 :(得分:-1)

这很棘手,但是请尝试从产品对象中删除最后一个昏迷(,),然后看看。

要检查的另一件事是产品组件是否正在接收URL中id(:id)的参数。

最后,尝试将重定向添加到布局对象。

{ 路径:“ /”, 重定向:“ / dashboard”, 名称:“首页”, 组件:主要, 儿童:[ { 路径:“ / dashboard /:tab?”, 名称:“仪表板”, 组件:仪表板, }

答案 1 :(得分:-1)

 { 
     path: "/", 
     redirect: "/dashboard", 
     name: "Home", 
     component: Main, 
     children: [ 
       { path: "/dashboard/:tab?", 
         name: "Dashboard", 
         component: Dashboard, 
       }
     ]
}
相关问题