在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue 異步組件采用參數(shù)路徑報錯

vue 異步組件采用參數(shù)路徑報錯

vue在異步加載組件時如下

var name = '../components/AdminHome/UserManager.vue';
var component = () => import(name);

import傳入一個參數(shù)時會報錯:

client?cd17:147 ./src/store/index.js
67:31-43 Critical dependency: the request of a dependency is an expression
 @ ./src/store/index.js
 @ ./src/main.js
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js
msgWarnings @ client?cd17:147
onmessage @ socket.js?e5d0:38
EventTarget.dispatchEvent @ sockjs.js?3600:170
(anonymous) @ sockjs.js?3600:883
SockJS._transportMessage @ sockjs.js?3600:881
EventEmitter.emit @ sockjs.js?3600:86
WebSocketTransport.ws.onmessage @ sockjs.js?3600:2957
vue.esm.js?efeb:576 [Vue warn]: Failed to resolve async component: function component() {
                        return __webpack_require__("./src/store lazy recursive")(name);
                    }
Reason: Error: Cannot find module '../components/AdminHome/UserManager.vue'.

如果是這樣直接用字符串就不會有問題:

var component = () => import('../components/AdminHome/UserManager.vue');
回答
編輯回答
淚染裳

圖片描述

2017年6月26日 08:13
編輯回答
溫衫

樓上有誤。import()函數(shù)是可以動態(tài)載入模塊的,import才不支持動態(tài)載入。試一下將

var name = '../components/AdminHome/UserManager.vue';
var component = () => import(name);

改成

var name = '../components/AdminHome/UserManager.vue';
var component = () => import(`${name}`);

可能是import()函數(shù)的參數(shù)不能是表達式,上面修改后參數(shù)就是字符串了,并且能動態(tài)加載。

2017年2月13日 19:11
編輯回答
愚念

這個可能是import的限制, 不是vue-cli的問題, 不允許動態(tài)載入模塊, 具體出處沒有找到, 我在找找, 但是可以肯定在這個教程中有提到, 你先看下

http://es6.ruanyifeng.com/#do...

2017年11月10日 14:04
編輯回答
念初
var name = 'components/AdminHome/UserManager.vue';
var component = ()=>import(`@/${name}`)

暫時找到辦法了,這樣卻可以正常加載,到時候找到具體原因再來更新

2017年12月21日 09:01