![Vue.js快速入门](https://wfqqreader-1252317822.image.myqcloud.com/cover/548/31794548/b_31794548.jpg)
第4章 Webpack+Vue.js实战
4.1 创建一个页面
激动人心的时刻到来了,接下来我们需要通过自己动手开始下一步的学习。
请读者务必准备好电脑,只有一边学习一边编写代码,才能真正看到效果,因为调试代码的过程是无法脑补出来的。
在Vue.js中创建页面需要以下两步。
(1)新建路由。
(2)新建vue页面。
4.1.1 新建路由
默认的路由文件是src/router/index.js,将其打开之后,我们增加两行:
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/62.jpg?sign=1738961916-tGQ7urDp7SmE0GrpY9bmfdafF3nV5DAW-0-699dd19123cf5decc849eb1543e146d3)
上面的代码中:
import SayHi from '@/components/SayHi'
表示从当前目录下的components引入SayHi文件,@表示当前目录。
然后利用下面的代码定义一个路由:
routes: [ { path: '/say_hi', // 对应一个url name: 'SayHi', // Vue.js内部使用的名称 component: SayHi // 对应的.vue页面的名字 }, ]
也就是说,每当用户的浏览器访问http://localhost:8080/#/say_hi时,就会渲染./components/SayHi.vue文件。name: 'SayHi'定义了该路由在Vue.js内部的名称。
4.1.2 创建一个新的Component
由于我们在路由中引用了component:src/components/SayHi.vue,接下来,就创建这个文件。代码如下:
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/63.jpg?sign=1738961916-Q2GuUa0kd067Yigu1y6EXrNeiap7lHK4-0-ef6149a1af3b445e032ec67b92fe29db)
在上面的代码中:
•<template></template>代码块中表示的是HTML模板,里面写的就是最普通的HTML。
•<script/>表示的是js代码,所有的js代码都写在这里。这里使用的是EMScript。
•<style>表示所有的CSS/SCSS/SASS文件都可以写在这里。
现在,可以直接访问http://localhost:8080/#/say_hi了,页面如图4-1所示。
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/Figure-P64_65885.jpg?sign=1738961916-okcqKT5eFV9uUNqWdcBxSv9uzOaNMzfJ-0-2b8e794b3b54add8ceab217e220f0d2c)
图4-1 页面效果
4.1.3 为页面添加样式
我们可以为页面添加一些样式,让它变得好看一些。
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/64.jpg?sign=1738961916-Vckt3cwi6CVbY7zIZu01wd9z9IqXlXf1-0-1e2b118c0f854d4891768484e067839e)
注意上面代码中的<style>标签,里面与普通的CSS一样定义了样式。
.hi { color: red; font-size: 20px; }
刷新浏览器,可以看到文字加了颜色,如图4-2所示。
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/Figure-P65_37884.jpg?sign=1738961916-IJVuuqRvF3iH8nyhowCW9ImSo6HRTMk3-0-ddbc63c422d5c4eeb0586e92a0a5116e)
图4-2 为文字添加颜色
4.1.4 定义并显示变量
如果要在vue页面中定义一个变量,并显示出来,就需要事先在data中定义。
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/Figure-P65_65889.jpg?sign=1738961916-miZrIIniNhU90prOxU3Mtp9ITYS6NW3e-0-8b9bf549ad26c34216ae96e88f552cfb)
可以看到,上面的代码是通过Webpack的项目来写的。回忆一下,在原生的Vue.js中是如何定义一个变量(property)的?
答案是:
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/Figure-P66_65890.jpg?sign=1738961916-RRxY9mHyXk2yuSLCxquxJCJMtq2De0qg-0-4823e294c6ed6d3e6dc4c52ef1a7a901)
我们可以认为,之前在“原生的Vue.js”的代码中存在于new Vue({...})中的代码,在Webpack框架下,都应该放到export default{ .. }代码块中。
完整的代码(src/components/SayHi.vue)如下所示:
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/Figure-P66_65891.jpg?sign=1738961916-B7XAtmyyxSpGisFSiXPZyp3d6Y5i0zLw-0-06bf70616ef1b16f38b4d1165c85b835)
页面效果如图4-3所示。
![](https://epubservercos.yuewen.com/7D93CA/17214369305518906/epubprivate/OEBPS/Images/Figure-P67_38117.jpg?sign=1738961916-FDQOLuGNj3yrgNv0oPWBBQXr2ymbPvd8-0-18a90597a7a017960a565333cd3612c3)
图4-3 页面效果