Vue学习之旅Part14:使用render在Webpack中渲染Vue组件

   日期:2020-04-30     浏览:117    评论:0    
核心提示:步骤1:在src下创建一个名为后缀名为vue的文件该文件在Webpack中是纯粹的Vue组件由三部分javascript

步骤1:

在src下创建一个名为后缀名为vue的文件
该文件在Webpack中是纯粹的Vue组件

由三部分组成:
<template>:HTML代码
<script>:业务逻辑
<style>:样式

例:
login.vue

<template>
    <div>
        <h1>登录</h1>
    </div>
</template>

<script> </script>

<style> </style>

步骤2:

在webpack中若想通过vue将一个组件放到页面中展示 可通过Vue实例中的render属性实现

main.js:

导入login组件的模板对象:

import login from "./login.vue"

创建Vue实例用render属性设置组件:

var vm=new Vue({
    el:"#app",
    data:{
        msg:"asdsad"
    },
    render:function(createElements)
    {
        return createElements(login)
    }
})

用箭头函数简写render:create=>create(login)(该处create为形参 非固定 可任意取)

var vm=new Vue({
    el:"#app",
    data:{
        msg:"asdsad"
    },
    render:create=>create(login)
})

步骤3:

默认的webpack是无法打包.vue文件的
因此 需安装第三方相关loader来解析:输入cnpm i vue-loader vue-template-compiler -D
安装vue-loader 其内部依赖于vue-template-compiler

注入VueLoader插件const { VueLoaderPlugin } = require("vue-loader");
创建一个VueLoader插件new VueLoaderPlugin()
然后在配置文件中新增配置对象规则{test:/\.vue$/,use:"vue-loader"}

var path=require("path")
const { VueLoaderPlugin } = require("vue-loader");

module.exports={
    entry:path.join(__dirname,"./src/main.js"),
    output:{
        path:path.join(__dirname,"./dist"),
        filename:"bundle.js"
    },
    // 插件
    plugins:[
        new VueLoaderPlugin()
    ],
    // 配置第三方loader模块
    module:{
        rules:[
            {test:/\.vue$/,use:"vue-loader"} // 处理.vue文件的loader
        ]
    }
}

总结:

若在webpack中使用vue组件 需经过如下步骤:

  • 1、安装vue的包:cmpn i vue -S
  • 2、在webpack中推荐使用.vue该组件模板文件来定义组件 需要安装相应的能解析vue的loader:cnpm i vue-loader vue-template-compiler -D
  • 3、在webpack.config.js中配置vue-loader:
    const { VueLoaderPlugin } = require(“vue-loader”)
    new VueLoaderPlugin()
    {test:/.vue$/,use:“vue-loader”}
  • 4、在main.js中导入vue模块:import Vue from "vue"
  • 5、定义后缀名为.vue的组件 组件由三部分组成:<template>、<script>和<style>
  • 6、在main.js中使用import导入该组件:import login from "./login.vue"
  • 7、创建Vue实例:var vm=new Vue({el:"#app",render:create=>create(login)})
  • 8、最后 在页面中创建id为app的div元素 作为Vue实例控制的区域即可
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服