webpack 安装vue(两种代码模式compiler 和runtime)

使用webpack安装vue,import之后,运营项目报错,如下:

[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.


原因:

vue有两种形式的代码compiler(模板)模式,和runtime模式(运行时),vue模板的package.json中的main字段默认为runtime模式,指向的是'dist/vue.runtime.common.js'位置。

这是vue升级2.0之后就有的特点;如果main.js中,初始化vue这样写,这种形式compiler模式,所以就会出现上面的错误信息;

new Vue({
    el:'#app',
    template:'<App/>',
    components:{App}
});

解决办法:

1 修改Vue实例的写法:

new Vue({
  render:h=>h(App)
}).$mount('#app');

 

 

用vue-cli搭建的项目没有问题,原因是webpack配置文件中有个别名配置:

resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' //内部为正则表达式 vue结尾的 } }

也就是说import Vue from 'vue' 这行代码被解析为import Vue from ‘vue/dist/vue.esm.js’,直接指定了文件的位置,没有使用main字段默认的文件位置

在vue-cli3中需要配置:

configureWebpack: { resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' } }

或者直接这样写:

import Vue from 'vue/dist/vue.esm.js

 

来自:https://blog.csdn.net/wxl1555/article/details/83187647

 

转载于:https://www.cnblogs.com/xiaofenguo/p/11382601.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值