学习vue的单文件时遇上的疑惑,经过查询总结的答案,记录一下。
首先,export
语句本身就只是标准的 JS 代码,你后面写的什么它就导出什么。
然后,你的这些个代码并不是写在 *.js 文件里的,而是 *.vue 文件,这个文件会被 vue-loader(如果你用的是 Webpack 的话)加工处理。其中 <template>
部分会被 vue-template-compiler 编译成 render 函数,并插入到上面那一坨导出的 JS 对象中;<style>
部分会被转换成样式函数或提取为独立 CSS 文件(取决于你的 Webpack 配置)。
需要注意的是,vue-loader 只会处理 <script>
部分默认导出的内容(也就是 export default
出来的内容)。所以你修改了导出的类型,或者导出的不是一个正确的 JS 对象,就会出错了。
出自单组件文件中的export default会导出些什么 - 中文 - Vue Forum
导入语法引用了demo
文件webpack
找到demo
文件
将demo
文件内容交给vue-loader
vue-loader
将原始的vue
文件拆分为template
,js
,css
三部分template
被编译成为渲染函数放到了js
里js
和css
再分别交给babel-loader
,css-loader style-loader
处理