webpack结合vue使用(五)

webpack结合vue使用步骤如下:

  1. 安装 vue 的包 : cnpm i vue -S
  2. 由于在 webpack 中,锐减使用 .vue 这个组件模板文件定义组件,所以需要安装能解析这种文件的第三方加载器 loader : cnpm i vue-loader vue-template-compiler -D
  3. 在 main.js 中导入 vue 模板:import Vue from 'vue',此导入的是运行时的 vue,非罪全功能的 vue.js
  4. 定义一个 .vue 结尾的组件:login.vue,其中组件有三部分:template,script,style
  5. 使用 import 导入组件:import login from './login.vue'
  6. 创建 Vue 实例: var vm = new Vue({ el:'#app', data:{}, render: c=>c(login)})
  7. 在页面中创建一个 id 为 App 的 div 元素,作为我们 vm 实例要控制的区域

main.js:

//入口文件
//如何在 webpack 构架的项目中,使用 Vue 进行开发
// 执行命令 npm i vue -s ,把 vue 包安装成项目运行依赖

//在 webpack 中尝试使用 Vue;
//注意:在 webpack 中,使用 import Vue from ‘vue’ 导入的 Vue 构造函数,功能不全,只提供了 runtime-only 的方式,并没有提供像网页中那样的使用方法,实际导入的包是根据包的查找规则导入的
import Vue from 'vue'

//1:导入 login 组件
import login from './login.vue'
//默认 webpack 无法打包 .vue 文件,需要安装相关的 loader
// cnpm i vue-loader vue-template-compiler -D
// 在配置文件中新增 loader 配置项 { test:/.vue$/, use:'vue-loader'}

var vm = new Vue({
el:'#app',
data:{
msg: '123'
},
// components:{
// login
// }
//function可以用 ‘=>’代替,当函数为一个参数的时候,小括号可以省略,因为参数为为形参,所以可以自定义任何名称为c,方法内只有一行代码,所以大括号可以去掉,内部调用的方法不写return会默认return,所以方法简写成为如下:
render: c => c(login)
});

src下面创建 login.vue:

<template>
    <div>
        <h1>这是登录组件,使用 .vue 文件定义出来的</h1>
    </div>
</template>

<script>

</script>

<style>

</style>

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

    <!--这时容器-->
    <div id="app">
        <p>{{msg}}</p>
        <login></login>
    </div>

</body>
</html>

在 webpack.config.js中添加插件:

//由于 vue-loader 版本高于 15 需要安装此插件(这是个坑)
const vueLoaderPlugin = require('vue-loader/lib/plugin');
plugins: [//配置插件的节点

new vueLoaderPlugin()

],
原文地址:https://www.cnblogs.com/lubolin/p/10939275.html