vue-loader的简单例子
一.模块加载器
1.broserify 模块加载器, 只能加载js
2.webpack 模块加载器, 一切东西都是模块, 最后打包到一块
.vue文件 ==> 需要用webpack编译成浏览器可读文件
vue组件代码, 三块代码
1. <template></template> ==> 放html
2. <style></style> ==> 放css
3. <script></script> ==> js代码
二.不使用vue-cli来创建, 手动创建
1..初如化package.json
& npm init --yes // 默认
生成vue-loader-demo目录
F:\learning\znsvue>md vue-loader-demo
删除目录
F:\learning\znsvue> del vue-loader-demo3
2.vue-loader-demo创建以下文件
|-index.html 首页
|-main.js 入口js文件
|-App.vue vue文件(第一个字母大写, 官方推荐命名法)
|-package.json 工程文件(项目依赖, 名称, 配置)
|-webpack.config.js webpack配置文件
|-components/Menu.vue 公用html
3.webpack准备工作
App.vue ==> 用vue-loader来编译
& npm install vue --save
& npm install vue-loader --save
& npm install webpack --save-dev
& npm install webpack-dev-server --save-dev & npm install vue-loader --save-dev
& npm install vue-html-loader --save-dev
& npm install css-loader --save-dev
& npm install vue-style-loader --save-dev
& npm install vue-hot-reload-api --save-dev
& npm install vue-loader vue-html-loader css-loader vue-style-loader vue-hot-reload-api --save-dev
ES转换, babel编译
& npm install babel-loader --save-dev
& npm install babel-core --save-dev
& npm install babel-plugin-transform-runtime --save-dev
& npm install babel-preset-es2015 --save-dev
& npm install babel-runtime --save-dev
& npm install babel-loader babel-core babel-plugin-transform-runtime babel-preset-es2015 babel-runtime --save-dev
4.在webpack.config.js配置好
module.exports = {
entry: "./main.js", // 入口js文件
output: {
path: __dirname,
filename: "build.js" // 输出js文件
},
module: {
loaders: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
query:{
presets: 'es2015'
},
exclude: /node_modules/
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.common.js'
}
}
}
5.在package.json配置webpack打包
"scripts": {
"dev": "webpack-dev-server --inline --hot"
},
6.index.html里引入output的build.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="box">
<Hello></Hello>
</div>
<script src="build.js"></script>
</body>
</html>
$ npm run dev
命令行运行webpack命令,
如果发现页面有报错: [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
运行时构建不包含模板编译器,因此不支持 template 选项,只能用 render 选项,但即使使用运行时构建,在单文件组件中也依然可以写模板,因为单文件组件的模板会在构建时预编译为 render 函数。
上面一段是官方api中的解释。就是说,如果我们想使用template,在webpack.config.js添加以下以行
resolve: {
alias: {
'vue$': 'vue/dist/vue.common.js'
}
}
7.在main.js里导入vue文件
import Vue from 'vue';
import Hello from "./App.vue"; new Vue({
el: "#box",
template: '<Hello/>',
components: { Hello }
})
8.主要App.vue文件中
<template>
<div class="huangtao">
<div @click="change()">{{msg}}</div>
<my-menu></my-menu>
</div>
</template> <script>
import Menu from "./components/Menu.vue"; export default {
data () {
return {
msg: '这是App.vue内容'
}
}, methods: {
change(){
this.msg = "new Hello World!"
}
}, components: {
"my-menu" : Menu
}
}
</script> <style>
html {
background: green;
color: #fff;
font-size: 20px;
}
</style>
9.components/Menu.vue文件中
<template>
<ul>
<li @click="change()">{{msg}}</li>
</ul>
</template>
<script>
export default {
data () {
return {
msg: '这是引入Menu.vue内容'
}
}, methods: {
change(){
this.msg = "new Hello World!"
}
}
}
</script>
vue-loader的简单例子的更多相关文章
- vue 快速入门 系列 —— vue loader 下
其他章节请看: vue 快速入门 系列 vue loader 下 CSS Modules CSS Modules 是一个流行的,用于模块化和组合 CSS 的系统.vue-loader 提供了与 CSS ...
- vue 快速入门 系列 —— vue loader 扩展
其他章节请看: vue 快速入门 系列 vue loader 扩展 在vue loader一文中,我们学会了从零搭建一个简单的,用于单文件组件开发的脚手架.本篇将在此基础上继续引入一些常用的库:vue ...
- Hibernate4.2.4入门(一)——环境搭建和简单例子
一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...
- AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答
一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...
- spring mvc(注解)上传文件的简单例子
spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...
- ko 简单例子
Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...
- mysql定时任务简单例子
mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9 如果要每30秒执行以下语句: [sql] update userinfo set endtime = now() WHE ...
- java socket编程开发简单例子 与 nio非阻塞通道
基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特 ...
- 一个简单例子:贫血模型or领域模型
转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...
- [转] 3个学习Socket编程的简单例子:TCP Server/Client, Select
以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计 ...
随机推荐
- Linux服务器 java生成的图片验证码乱码问题
问题:如图所示项目中生成的图形验证码不能正常显示出需要的字体 原因: linux下没有对应的字体 查找项目中使用到系统字体的地方,如下: 解决: 1. 在本地 路径 C:\Windows\Fonts ...
- Logback中文文档(四):Appender
什么是 Appender Appender是负责写记录事件的组件.Appender 必须实现接口"ch.qos.logback.core.Appender".该接口的重要方法总结如 ...
- SAX解析XML笔记
关于基本操作,请参考:Java用SAX解析XML,这里不重复造轮子了,以下是个人笔记:
- UNIX环境编程学习笔记(28)——多线程编程(三):线程的取消
lienhua342014-11-24 1 取消线程 pthread 提供了pthread_cancel 函数用于请求取消同一进程中的其他线程. #include <pthread.h> ...
- pycharm使用docker容器的python解释器,
上一篇是pycharm调用docker的镜像的python解释器. 此篇介绍pycharm 调用docker的容器的python解释器. 这两个思路还是不一样的,第一个是用pycham界面的选择pyt ...
- 使用Matplotlib画图系列(一)
实现一个最简单的plot函数调用: import matplotlib.pyplot as plt y=pp.DS.Transac_open # 设置y轴数据,以数组形式提供 x=len(y) # 设 ...
- dos命令收集
应用程序和进程相关 tasklist /svc 查看计算机当前正在运行程序 taskkill /f /im "eclipse.exe" 关闭指定的应用程序 taskk ...
- nodejs服务器部署教程四
nodejs服务器部署最后一篇文章,部署ssl证书,升级http为https,其实网上相关教程有很多,但是略麻烦,本教程让你一切从简,5分钟搞定https,免费一年哦 申请ssl证书 免费申请的机构有 ...
- Python学习--判断变量的数据类型
import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is i ...
- Jsoup(一)-- HelloWorld
1.简介 jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. ...