我不希望我的Vue偏离使用webpak, 所以有两种选择 将组件编写为.js文件或 将它们编写为.vue文件,并使用httpVueLaoder加载组件,就好像它们是.js文件一样 与httpvueLoader一起想想直到我想在组件内部使用API的时候 我无法获得API 我里面有一个Home.vue组件,其中有一个FormLot.vue组件,它试图导入API.js
erase
在FormLot.vue中
<script>
let FormLot = window.httpVueLoader('./frontEnd/page/lot/FormLot.vue')
module.exports = {
name:"Home",
components: {FormLot:FormLot},
...
};
</script>
API.JS
// _END_ is the absolut path to the site , soi can change it later
let API = import(_END_+'/api/api.js') // dont work return promise
import API from './frontEnd/api/api.js' // dont work componnet dont show at all :(
let FormLotE1 = window.httpVueLoader(_END_+'/page/lot/FormLotE1.vue')
module.exports ={
...
};
</script>
API.JS
module.exports ={
...
};
使用API.js我尝试导出默认值和module.export都无法正常工作 Nota 使用webpack API.js时可以正常导入并且可以正常工作
答案 0 :(得分:0)
从路径httpVueLaoder使用导入API时不起作用 所以我尝试做
const API= import(path)
不能使用API的问题,不能使用:( 使用await即使使用时也无法解决问题
const API = (async ()=> await import(path))()
我的解决方案仍然使用await调用导入,但不在脚本顶部 我在Mounted()函数中称呼它
async mounted(){
API = (await import(_END_+'/api/api.js')).default
},
请注意,必须使用.default,因为import会返回一个模块:) 在此处输入代码