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 相关文章推荐
js ondocumentready onmouseover onclick onmouseout 样式
Jul 22 Javascript
jQuery 选择器、DOM操作、事件、动画
Nov 25 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
Jan 15 Javascript
Jquery显示、隐藏元素以及添加删除样式
Aug 09 Javascript
jQuery实现带有洗牌效果的动画分页实例
Aug 31 Javascript
基于javascript制作经典传统的拼图游戏
Mar 22 Javascript
使用Web Uploader实现多文件上传
Jun 08 Javascript
简单实现js间歇或无缝滚动效果
Jun 29 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
Oct 15 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
Dec 22 Javascript
vue项目中使用axios上传图片等文件操作
Nov 02 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
Apr 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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
javascript动画算法实例分析
2015/07/31 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
2016/10/05 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python之py2exe打包工具详解
2017/06/14 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
python微信公众号开发简单流程
2018/03/23 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
禁毒宣传工作方案
2014/05/23 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
redis数据结构之压缩列表
2022/03/21 Redis