[英]Alternative for “component: () => import” in VueJs routing
我在线下载了模板,以更好地了解VueJ,还创建了一个Web应用程序。 但是我有一个路由问题。 我的路由器的index.js中有一个函数可以导入路径。 由于某些webpack问题,导入语法似乎有问题。 我尝试了很多不同的方法,但无法修复该错误,因此我想找到一种针对该import
语法的解决方法
这是我的路由器的index.js代码
import Vue from 'vue'
import VueAnalytics from 'vue-analytics'
import Router from 'vue-router'
import Meta from 'vue-meta'
// Routes
import paths from './paths'
// import views from './views'
function route (path, view, name) {
return {
name: name || view,
path,
component: () => import(
`../views/${view}.vue`
)
}
}
Vue.use(Router)
// Create a new router
const router = new Router({
mode: 'history',
routes: paths.map(path => route(path.path, path.view, path.name)).concat([
{ path: '*', redirect: '/home' }
]),
scrollBehavior (to, from, savedPosition) {
if (savedPosition) {
return savedPosition
}
if (to.hash) {
return { selector: to.hash }
}
return { x: 0, y: 0 }
}
})
Vue.use(Meta)
// Bootstrap Analytics
// Set in .env
// https://github.com/MatteoGabriele/vue-analytics
if (process.env.GOOGLE_ANALYTICS) {
Vue.use(VueAnalytics, {
id: process.env.GOOGLE_ANALYTICS,
router,
autoTracking: {
page: process.env.NODE_ENV !== 'development'
}
})
}
export default router
当我尝试构建它时,出现错误消息:
ERROR in ./src/router/index.js
Module build failed: SyntaxError: C:/djangoProjects/martin - Copy/martin/src/router/index.js: Unexpected token (15:21)
语法错误在线(15:21),在component: () => import(
的route
函数中component: () => import(
行,并且完全在import
。解决此问题是很痛苦的,所以我想知道是否有一种解决方法,而没有使用import
语法?
如果我没记错的话,您将需要一个可处理动态导入的babel插件。
签出: https : //babeljs.io/docs/en/babel-plugin-syntax-dynamic-import
npm install @babel/plugin-syntax-dynamic-import
{
"plugins": ["@babel/plugin-syntax-dynamic-import"]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.