场景是这样,在 node v10.13.0 的版本去开发,调试正常后复制到项目中,node 版本是 8.11.4。结果发现初始化失败,项目没有报错,但是页面中的入口出现问题,#app 的节点上无法挂载 UI
结果如下图,id 为 app 的挂载点变成了一段注释。
<div id="app"></div>
=>
<!--function (a, b, c, d) { return createElement(vm, a, b, c, d, true); }-->
页面的 js 逻辑加载正确,css 也正确渲染
入口 js 代码如下
import Vue from 'vue'
import Vuex from 'vuex'
import App from './App.vue'
import { get } from 'lodash'
import './styles/index.scss'
const a = {
d: 1
}
console.log('a.b.d', get(a.d.c))
console.log('999999', process.env)
/* eslint-disable no-new */
new Vue({
el: '#app1',
components: { App },
template: '<App/>'
})
开始我以为是 node 影响了包导致的问题,就删除 node_module ,重置 node-sass 环境,结果没有解决
然后又在 8.11.4 的 node 版本下重新安装了包,版本也进行了替换,结果还是一样的结果
最后多次测试发现,最新的 Vue 已经改了 main.js 的入口写法,Vue 的实例化变成了如下代码
new Vue({
render: h => h(App)
}).$mount('#app')
改成这样以后就没有问题了