为了账号安全,请及时绑定邮箱和手机立即绑定

vue异步加载组件require路径变量问题

vue异步加载组件require路径变量问题

泛舟湖上清波郎朗 2019-05-25 17:53:56
webapck配置resolve:{extensions:['.js','.vue','.json'],alias:{'@':resolve('src')}},使用的是vue-cli(webpack2+vue2.6),功能是循环一个数据拿出里面的path放到require进行异步加载Vue.component(component,function(resolve,reject){//比如这个path的值是@/pages/count的话,貌似解析成字符串,不会加载组件require([`${path}.vue`],resolve)//不能解析})然后如果是这样的话就可以解释Vue.component(component,function(resolve,reject){require([`@/pages/count`],resolve)//可以解析})试了其他的require.ensure和import都是这样的结果,问题聚焦在require如果是变量,都没法正确解析,有人有办法吗,如果解析webpackalias别名@的路径?
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

我测试了一下,变量可以解析,但前提是不能包含别名路径@。
//main.js
varpath1='./App'
varpath2='@/App'
Vue.component("app",function(resolve,reject){
require([`${path1}.vue`],resolve)//可以解析
//require([`${path2}.vue`],resolve)//没法解析
//require([`@/App.vue`],resolve)//可以解析
})
//webpack.config.js
resolve:{
alias:{
'vue$':'vue/dist/vue.esm.js',
'@':path.resolve('src')
}
}
                            
查看完整回答
反对 回复 2019-05-25
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

Vue.component(component,function(resolve,reject){
letpth=path
require([pth],resolve)//这样可以吗
})
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 5749 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信