vue-loader教程介绍


Posted in Javascript onJune 14, 2017

在最初使用webpack+vue时,看到vue里面各种语法,包括import,export,html和css的写作方式,我都能依葫芦画瓢地实现各种功能,但是为什么能这样写,一直不太理解,直到我了解了vue-loader。

vue-loader功能

如图,webpack的功能就是将左侧用户编写的代码(只要有相应的loader,可以使用任何符合自己习惯的编写方式)转换成右侧浏览器能识别的js。

vue-loader就是告诉webpack如何将vue格式的文件转换成js。

vue-loader教程介绍

vue组件格式

.vue 文件是一个自定义的文件类型,用类 HTML 语法描述一个 Vue 组件。每个 .vue 文件包含三种类型的顶级语言块 <template>, <script> 和 <style>,还允许添加可选的自定义块:

<template>
  <div class="example">{{ msg }}</div>
</template>
<script>
export default {
  data() {
    return {
      msg: 'Hello world!'
    }
  }
}
</script>
<style>
.example {
  color: red;
}
</style>
<custom1>
  This could be e.g. documentation for the component.
</custom1>

vue-loader 会解析文件,提取每个语言块,如有必要会通过其它 loader 处理,最后将他们组装成一个 CommonJS 模块,module.exports 出一个 Vue.js 组件对象。

vue-loader 支持使用非默认语言,比如 CSS 预处理器,预编译的 HTML 模版语言,通过设置语言块的 lang 属性。例如,你可以像下面这样使用 SASS 语法编写样式:

<style lang="sass">
 /* write SASS! */
</style>

Src 导入

如果喜欢分隔你的 .vue 文件到多个文件中,你可以通过 src 属性导入外部文件:

<template src="./template.html"></template>
<style src="./style.css"></style>
<script src="./script.js"></script>

需要注意的是 src 导入遵循和 require() 一样的规则,这意味着你相对路径需要以 ./ 开始,你还可以从 NPM 包中直接导入资源,例如:

<!-- import a file from the installed "todomvc-app-css" npm package -->
<style src="todomvc-app-css/index.css">

在自定义块上同样支持 src 导入,例如:

<unit-test src="./unit-test.js">
</unit-test>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用Modello编写JavaScript类
Dec 22 Javascript
网站被黑的假象--ARP欺骗之页面中加入一段js
May 16 Javascript
ext 列表页面关于多行查询的办法
Mar 25 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
Sep 06 Javascript
jQuery验证插件 Validate详解
Nov 20 Javascript
jQuery自定义动画函数实例详解(附demo源码)
Dec 10 Javascript
AngularJS封装指令方法详解
Dec 12 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
JS实现select选中option触发事件操作示例
Jul 13 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
Mar 15 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
Apr 09 Javascript
教你搭建按需加载的Vue组件库(小结)
Jul 29 Javascript
JS中mouseup事件丢失的原因与解决办法
Jun 14 #Javascript
Vue2.0 从零开始_环境搭建操作步骤
Jun 14 #Javascript
jQuery.form.js的使用详解
Jun 14 #jQuery
ExtJs异步无法向外传值和赋值的完美解决办法
Jun 14 #Javascript
详解Vue爬坑之vuex初识
Jun 14 #Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
Jun 13 #Javascript
微信小程序调用PHP后台接口 解析纯html文本
Jun 13 #Javascript
You might like
php array_filter除去数组中的空字符元素
2020/06/21 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php的dl函数用法实例
2014/11/06 PHP
php+mysql查询优化简单实例
2015/01/13 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
JS 建立对象的方法
2007/04/21 Javascript
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
python fabric实现远程部署
2017/01/05 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
Python整数对象实现原理详解
2019/07/01 Python
python导入库的具体方法
2020/06/18 Python
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
你们项目是如何进行变更控制的
2015/08/26 面试题
经济管理专业自荐信
2013/12/30 职场文书
人事部专员岗位职责
2014/03/04 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
公司委托书格式范文
2014/04/04 职场文书
个人向公司借款协议书
2014/10/09 职场文书