Laravel 仅在运行时版本上使用Browserify的Vue
我一直在想这个问题,但我总是 [Vue warn]:您正在使用仅运行时版本的Vue,其中 模板编译器不可用。或者预先编译模板 转换为渲染函数,或使用包含的编译器生成。(发现于 ) 我正在使用laravel 5.2和browserify with elixir以及vue 2.2.2 我试图显示一个简单的视图 这是我的app.js 从“Vue”导入VueLaravel 仅在运行时版本上使用Browserify的Vue,laravel,vuejs2,Laravel,Vuejs2,我一直在想这个问题,但我总是 [Vue warn]:您正在使用仅运行时版本的Vue,其中 模板编译器不可用。或者预先编译模板 转换为渲染函数,或使用包含的编译器生成。(发现于 ) 我正在使用laravel 5.2和browserify with elixir以及vue 2.2.2 我试图显示一个简单的视图 这是我的app.js 从“Vue”导入Vue 从“/components/Test.vue”导入测试 新的Vue({el:'.container',render:h=>h(Test)}) Te
从“/components/Test.vue”导入测试 新的Vue({el:'.container',render:h=>h(Test)}) Test.vue
<template>
<div class="view">
<h1>{{msg}} </h1>
</div>
</template>
<script type="text/javascript">
export default {
data (){
return {
msg : 'This is Vue'
}
}
}
</script>
<style>
div.view{
padding:2em;
position: relative;
}
</style>
{{msg}}
导出默认值{
数据(){
返回{
msg:'这是Vue'
}
}
}
分区视图{
填料:2米;
位置:相对位置;
}
您使用的是拉维长生不老药vueify吗?尝试改用laravel-elixir-vue-2..您也可以尝试在package.json的“browser”中设置vue.common.js(我使用的是带有gulp和browserify的npm)
也许这会有帮助。这是我的设置示例。我还使用了
VueRouter
app.js:
从“Vue”导入Vue;
从“vue路由器”导入VueRouter;
从“/components/App.vue”导入应用程序;
从“/components/Home.vue”导入主页;
Vue.use(VueRouter);
常量路由器=新的VueRouter({
路线:[{
路径:“/”,
姓名:'家',
组成部分:家庭
},
//……其他
});
const app=新的Vue({
路由器,
render:createEle=>createEle(应用程序)
}).$mount(“#应用程序容器”);
App.vue:
福
富2
导出默认值{
//空的
}
index.html:
我希望这有帮助
Ref:答案是什么?@justin.m.chase我没有答案。我想使用仅运行时版本,因为它是轻量级的。而且没有人能给我答案。我实际上设法解决了这个问题,但我使用的是webpack,而不是browserify。问题似乎是,如果您只是使用
require('vue')
默认结果算法所指向的文件没有模板编译器,正如错误所述。如果您在服务器渲染器的节点中运行它,那么它可以工作,但如果您尝试为浏览器对其进行网页打包,它就会丢失。因此,您需要做的是本质上需要vue.common.js,而我可以在网页包中添加是到配置:resolve:{alias:{'vue$:'vue/dist/vue.common.js'}}
这个问题应该被删除。我已经解决了这个问题。我认为可以离开它,我发现这个问题比找到实际的解决方案要早,如果有人有同样的问题,这里的注释将帮助他们。
"browse": { "vue": "vue/dist/vue.common.js" }