在普通页面使用 render 函数渲染组件
var login = {
  template: '<h3>login</h3>'
}
var vm = new Vue({
  // createElement 是一个方法, 调用它能够把指定的模板渲染成html页面
  render: function (createElement, context) {
    return createElement(login);
  }
}).$mount('#app');
// render 和 components 的区别
// components: 类似于 指令 插件表达式 不会只替换自己所在的区域
// reder: 类似于指令 v-text 会把所有内容都替换 (包括 #app)
如何在 webpack 中 使用和 html 中一样的 vue.js
  1. 安装 vue 运行依赖
npm install vue -S
  1. 导入 vue 包
// 注意: 使用 import Vue from 'vue' 导入的 Vue 构造函数, 功能不完整, 只提供了 runtime-only 的方式, 并没有提供像网页中那样使用的方式
import Vue from 'vue'
/**
 * 包查找规则:
 *  1. 找 项目根目录中有没有 node_modules 的文件夹
 *  2. 在 node_modules 中根据包名, 找对应的 vue 文件夹
 *  3. 在 vue 文件夹中, 找一个叫做 package.json 的包配置文件
 *  4. 在 package.json 文件中, 查找一个 main 属性 [main属性指定了这个包在被加载的时候 的入口文件]
 */
  1. 创建 vue 实例对象
var vm = new Vue({
  data: {
    msg: 123
  }
}).$mount('#app');
  1. 配置 webpack.config.js 文件
module.exports = {
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.js'
    }
  }
};
  1. html 页面内正常使用即可
在 webpack 中 配置 .vue 组件的解析
  1. 安装解析 .vue 文件 所需的 loader
npm install vue-loader vue-template-compiler -D
  1. 配置 webpack.config.js
// 注意了 如果 vue-loader 版本为 15+, 那么必须配置 VueLoaderPlugin
const VueLoaderPlugin = require('vue-loader/lib/plugin')
module.exports = {
  plugins: [
    new VueLoaderPlugin()
  ],
  module: {
    rules: [
      {path: /\.vue$/, use: 'vue-loader'}
    ]
  }
}
  1. 导入 vue 模块
  2. 定义一个 .vue 结尾的模板文件 其中组件由三部分组成
<template>
  <div>
    <h3> vue 文件创建的 组件 </h3>
  </div>
</template>
<script></script>
<style></style>
  1. 使用 import 导入这个组件
  2. 创建 vm 实例 使用render 函数
var vm = new Vue({
  el: '#app',
  render: createElement => createElement(login);
});
补充 ES6 模块导入导出 语法
/**
 * export default / export 和 import * from * / import *  属于 ES6 一组
 * exports 和 require 属于 Node 一组  不要混用
 */
// 1. export default 一个文件内只允许使用一次
// 2. export default 可以和 export 一起使用
// 3. export default 导入方式 import 引用名称 from 文件路径
export default {
  name: 'zs',
  age: 20
}
// 1. export 一个文件内可以被多次导出 [按需导出]
// 2. export 导入方式 import {引用名称} from 文件路径
// 3. 如果导出多个 可以使用逗号隔开 import {name, age} from 文件路径
// 4. export 导入必须 和定义时使用一样的名字, 如果要更改 可以在导入时起别名  import {name as n} from 文件路径
export var name = 'zs';
export var age = 12;
在 vue 中使用 vue-router
  1. 导入 vue import Vue from 'vue'
  2. 下载 vue-router npm install vue-router -S
  3. 导入 router import VueRouter from 'vue-router'
  4. 创建路由实例对象
// 必须使用 vue.use()
Vue.use(VueRouter);
var router = new VueRouter({
  routes: [
    {path: '/account', component: account},
    {path: '/goodslist', component: goodlist}
  ]
});
  1. 创建 vue 实例对象 挂载 router
var vm = new Vue({

}).$mount('#app');
  1. 创建组件文件 并且导入 import account from './main/account.vue'
  2. 运行项目
嵌套路由
// 导入 login 增加 children 属性
import login from './login.vue'
Vue.use(VueRouter);
var router = new VueRouter({
  routes: [
    {
      path: '/account',
      component: account,
      children: [
        {path: 'login', component: login }
      ]
    },
    {path: '/goodslist', component: goodlist}
  ]
});
抽离路由

把除去 Vue.use() 的其他路由依赖 都抽离到一个文件中, 最后 使用 export default router 把路由对象导出, 再由main 文件接收使用

.vue 文件中的 style
/* 如果不指定 就是 普通的css  如果需要使用 less 或 scss 就需要指定 lang 属性值
scoped 是指 样式只在 组件内部生效 */
<style lang="less" scoped></style>

Vue 基础 day06 webpack 3.x 结合vue的更多相关文章

  1. Vue 基础 day05 webpack 3.x

    什么是webpack webpack 是前端的一个项目构建工具, 它是基于 Node.js 开发出来的一个前端工具 借助于webpack这个前端自动化构建工具, 可以完美实现资源的合并.打包.压缩.混 ...

  2. Vue基础01vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令

    自学vue框架,每天记录重要的知识点,与大家分享!有不足之处,希望大家指正. 本篇将讲述:vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令 前期学习基础,使用vue. ...

  3. 「vue基础」一篇浅显易懂的 Vue 路由使用指南( Vue Router 上)

    大家好,今天的内容,我将和大家一起聊聊 Vue 路由相关的知识,如果你以前做过服务端相关的开发,那你一定会对程序的URL结构有所了解,我没记错的话也是路由映射的概念,需要进行配置. 其实前端这些框架的 ...

  4. 「vue基础」一篇浅显易懂的 Vue 路由使用指南( Vue Router 下)

    大家好,在上一篇系列文章里,我们一起学习了路由的基本配置,如何创建路由和传参,本篇文章我们一起学习下 Navigation 导航和路由守卫的相关内容. Navigation 如果要改变当前路径,我们可 ...

  5. vue基础-动态样式&表单绑定&vue响应式原理

    动态样式 作用:使用声明式变量来控制class和style的值 语法: :class/:style 注意:尽可能不要把动态class和静态class一起使用,原因动态class起作用的时间会比较晚,需 ...

  6. (day65、66)Vue基础、指令、实例成员、JS函数this补充、冒泡排序

    目录 一.Vue基础 (一)什么是Vue (二)为什么学习Vue (三)如何使用Vue 二.Vue指令 (一)文本指令 (二)事件指令v-on (三)属性指令v-bind (四)表单指令v-model ...

  7. Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(下篇——多页面VueSSR+热更新Server)

    Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(下篇--多页面VueSSR+热更新Server) @(HTML/JS) 这是Vue多页面框架系列文章的第二篇,上一篇(纯前 ...

  8. 前端笔记之Vue(一)初识SPA和Vue&webpack配置和vue安装&指令

    一.单页面应用(SPA) 1.1 C/S到B/S页面架构的转变 C/S:客户端/服务器(Client/Server)架构的软件. C/S 软件的特点: ① 从window桌面双击打开 ② 更新的时候会 ...

  9. element-ui和npm、webpack、vue-cli搭建Vue项目

    一.element-ui的简单使用 1.安装 1. npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S 2. CDN ...

随机推荐

  1. 2019 计蒜之道 初赛 第一场 商汤AI园区的n个路口(中等) (树形dp)

    北京市商汤科技开发有限公司建立了新的 AI 人工智能产业园,这个产业园区里有 nn 个路口,由 n - 1n−1 条道路连通.第 ii 条道路连接路口 u_iui​ 和 v_ivi​. 每个路口都布有 ...

  2. H5 图片上传

    1.h5 图片异步上传 (1) 异步上传input触发onchange事件的时候,就把图片上传至服务器.后台可能会返回图片的链接等信息,前台可以把图片信息展示给用户看. (2) 另一种情况可能需要前台 ...

  3. [洛谷P2886] 牛继电器Cow Relays

    问题描述 For their physical fitness program, N (2 ≤ N ≤ 1,000,000) cows have decided to run a relay race ...

  4. 【leetcode】1138. Alphabet Board Path

    题目如下: On an alphabet board, we start at position (0, 0), corresponding to character board[0][0]. Her ...

  5. js 获取滚动位置,滚动到指定位置,平滑滚动

    1.获取当前滚动条位置信息 var top = dom.scrollTop; // 获取y轴上的滚动位置 var left = dom.scrollLeft; // 获取x轴上的滚动位置 2.滚动到指 ...

  6. node.js 的 中间件 初理解

    听说中间件还挺重要,下面梳理一下初认识: 中间件是什么?简单说说http请求服务的过滤,当交给函数处理之前先交给它处理.匹配后会终止,要想再匹配,得加: next. 中间件能解决什么问题?检测用户登录 ...

  7. Mac升级系统后 Pod Install报错-不能用 解决办法

    brew reinstall cocoapods brew install ruby brew link --overwrite cocoapods 最近将Mac OS升级到10.15.1 ,再回来初 ...

  8. React native 平时积累笔记

    常用插件: react-native-check-box 复选框react-native-sortable-listview 列表拖拽排序 react-native-doc-viewer 预览组件 r ...

  9. Java——类的继承、访问控制

    [继承] <1>Java只支持单继承,不支持多继承. <2>继承父类的私有成员变量,只有所有权,没有使用权.   [继承中的构造方法]

  10. docker学习与应用

    概要 众所周知,Docker是当前非常火的虚拟化容器技术,对于它的优势以及使用场景网上的资料非常多,这里我推荐大家去这个网站去详细学习docker. 我这里就写一下作为一名后端开发程序员,自己学习do ...