vue-loader 会解析文件,提取出每个语言块,如果有必要会通过其他 loader 处理,最后将他 们组装成一个 commonjs 模块;module.exports 出一个 vue.js 组件;
1、< temlate>语言块
1,1)默认语言:html
1,2)每个.vue 文件最多包含一个< template>块
1,3)内容将被提取为字符串,将编译用作 VUE 组件的 template 选项
2、< script>
2,1)默认语言:JS(在监测到 babel-loader 或者 buble-loader 配置时,自动支持 ES2015) 2,2)每个.vue 文件最多包含一个< script>块
2,3)该脚本在类 CommonJS 环境中执行(就像通过 webpack 打包的正常 JS 模块)。所以你 可以 require()其他依赖。在 ES2015 支持下,也可以使用 import 跟 export 语法
2,4)脚本必须导出 Vue.js 组件对象,也可以导出由 VUE.extend()创建的扩展对象;但是普 通对象是更好的选择
3、< style> 默认语言:css
3,1)一个.vue 文件可以包含多个< style>标签
3,2)这个标签可以有 scoped 或者 module 属性来帮助你讲样式封装到当前组件;具有不同 封装模式的多个< style>标签可以在同一个组件中混合使用
3,3)默认情况下,可以使用 style-loader 提取内容,并且通过< style>标签动态假如文档 的< head>中,也可以配置 webpack 将所有的 styles 提取到单个 CSS 文件中
4、自定义块 可以在.vue 文件中添加额外的自定义块来实现项目的特殊需求;例如< docs>块;vue-loader 将会使用标签名来查找对应的 webpack loaders 来应用到对应的模块上;webpack需要在 vue-loader 的选项 loaders 中指定 vue-loader 支持使用非默认语言,比如 CSS 预处理器,预编译的 HTML 模板语言,通过设置语言 块的 lang 属性:
<style lang='sass'>
/*sass*/
</style>
本文详细介绍了Vue.js的单文件组件(.vue)结构,包括模板、脚本和样式块的处理。vue-loader负责解析文件,提取语言块并进行处理。模板块用于组件的视图,脚本块支持ES2015并导出Vue组件,样式块可以使用不同的预处理器,并有scoped属性来限制样式作用域。此外,自定义块允许添加额外内容并配置对应的webpack loader。
1205

被折叠的 条评论
为什么被折叠?



