前端面试题让前端飞

Webpack打包Vue组件

2020-05-28  本文已影响0人  阿毛啊726

1)建立login.vue 文件,和index.html main.js平级

<template>
    <div>
        <h1>使用文件定义login组件</h1>
    </div>
</template>
<script>
</script> 
<style  >
</style>

2)main.js文件中引入

import Vue from "vue"
//导入模板
import login from "./login.vue"

3)webpack 不能解析.vue文件
安装
vue-loader vue-template-compiler
4)在配置文件webpack.config.js中新增配置项

module: {
    rules: [
        {test:/\.vue$/,use:'vue-loader'},
    ]
},

5)在配置文件webpack.config.js中添加控件

const VueLoaderPlugin = require("vue-loader/lib/plugin");

plugins: [
    new VueLoaderPlugin()
]

index.html中的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app"></div>
</body>
<script src="/bundle.js"></script>
</html>

main.js文件内容

import Vue from "vue"
import login from "./login.vue"
var vm=new Vue({
    el:"#app",
    data:{
        msg:"123"
    },
    render:function (creat) {
        return creat(login)
    }
})

因为是用render方式引入的组件,所以body中的div#app不存在了,替换为login.vue组件中template的内容

上一篇下一篇

猜你喜欢

热点阅读