使用webpack搭建vue开发环境(一)

1.参考之前博文webpack的使用,搭建目录结构,安装好webpack和之前提到过的配置工具。

2.安装Vue

cnpm i vue -S

3.导入vue包

import Vue from 'vue'

注意:在webpack中,使用 import Vue from 'vue' 导入的vue构造函数,功能不完整,只提供了 runtime-only 的方式,并没有提供像网页中那样的使用方式;

回顾包的查找规则:

(1).找 项目根目录中有没有 node_modules 的文件夹

(2).在node_modules中,根据包名,找对应的vue文件夹

(3).在vue文件夹中,找一个叫做package.json的包配置文件

(4).在package.json文件中,查找一个 main 属性,main属性指定了这个包在被加载的时候 的入口文件

所以我们根据这个规则,找到main属性,发现,它是指向的是vue.runtime.common.js:

 "main": "dist/vue.runtime.common.js"

有三种方式:

第一种最简单的就是直接把main属性改成 "main": "dist/vue.js"

第二种就是在main.js换导入的文件的路径:

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

第三种:

在webpack.config.js增加一个配置(与modules平级) :

resolve:{

alias:{

"vue$":"vue/dist/vue.js"

//在导入包的时候,以vue结尾的,都到vue/dist/vue.js这个目录里面去找

}

}

4.使用vue组件

(1)在vue中结合render函数渲染指定的组件到容器当中去

1.在src目录下面新建一个login.vue的文件

由三部分构成:

<template>

<div><h1>这是登录组件</h1></div>

</template>

<script></script>

<style></style>

2.在main.js中导入login组件

import login from './login.vue'

注意:默认webpack无法打包.vue文件,需要安装loader

cnpm i vue-loader vue-template-compiler -D

在配置文件中,新增loader配置项

{test:/\.vue$/,use:'vue-loader'}

注意:Vue-loader在15.*之后的版本都是 vue-loader的使用都是需要伴随 VueLoaderPlugin的

所以我们要在这两个的基础上再去下载这个插件
cnpm i vue-loader-plugin -S
然后在webpack.config.js文件中增加:

// webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')

module.exports = {
  // ...
  plugins: [
    new VueLoaderPlugin()
  ]
}

(配置了之后,npm run dev 运行,发生了Error: Cannot find module 'vue-loader/lib/plugin' 这个错误

我又cnpm uninstall vue-loader-plugin 了,uninstall之后,又可以了(这些配置没删除),我没注意文件有什么变化了,忘记了,现在有vue-loader这个文件了,继续)

3.main.js中注册组件

用components的方式注册组件

var vm=new Vue({
    el:'#app',
    data:{
        msg:'123'
    },
    methods:{},
    components:{
        login
    }
})

用render的方式渲染组件

var vm=new Vue({
    el:'#app',
    data:{
        msg:'123'
    },
    methods:{},
    // components:{
    //     login
    // }
    // render:function (createElements) {
    //     return createElements(login)
    // }
    render:c=>c(login)
})

4.index.html中使用组件

<div id="app">
<p>{{msg}}</p>
<login></login>
</div>
5.总结梳理: webpack 中如何使用 vue :

1. 安装vue的包:  cnpm i vue -S
2. 由于 在 webpack 中,推荐使用 .vue 这个组件模板文件定义组件,所以,需要安装 能解析这种文件的 loader    
cnpm i vue-loader vue-template-complier -D
3. 在 main.js 中,导入 vue 模块  import Vue from 'vue'
4. 定义一个 .vue 结尾的组件,其中,组件有三部分组成: template script style
5. 使用 import login from './login.vue' 导入这个组件
6. 创建 vm 的实例 var vm = new Vue({ el: '#app', render: c => c(login) })
7. 在页面中创建一个 id 为 app 的 div 元素,作为我们 vm 实例要控制的区域;
发布了14 篇原创文章 · 获赞 0 · 访问量 489

猜你喜欢

转载自blog.csdn.net/zuodandan_123/article/details/104661461