通过运行uni-app项目生成命令:
vue create -p dcloudio/uni-preset-vue my-project
自动生成了项目,观察项目中的main.js
最后是这样写的
const app = new Vue({
store,
...App
})
app.$mount()
它应该是被挂载到了template.h5.html这个文件中的#app节点
<div id="app"></div>
根据vue官方对$mount方法的说明($mount
),$mount如果不带任何参数的话,是需要在后续使用document.xxx这样的方法来定义挂载节点的,但我找了整个项目,也没找到有哪里写了这么一行。
那么它到底是在哪里进行App.vue这个根组件的挂载的呢?
有熟悉uni-app的朋友来指导一下吗?
找到答案了,是在uni-app的源码中实现了$el的定义
https://github.com/dcloudio/uni-app/blob/master/src/core/service/plugins/app/index.js
在以上文件中有一个beforeMount方法定义了$el的挂载位置
beforeMount: function appBeforeMount () {
// TODO 平台代码
this.$el = document.getElementById('app')
},