[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApjGDxQM-1655734119007)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4bcd5ea8327c4b2d855e1acb1f9d9975~tplv-k3u1fbpfcp-zoom-in-crop-mark:1956:0:0:0.image?)]
浏览器地址栏输入 chrome://extensions/
右上角开发者模式 - 打开开关。
把 vue3_devtools.crx 拖放进去安装。(vue3_devtools.crx评论区的文件里包含有)
打开终端工具,输入 vue create 项目名称 创建 Vue3 + TS项目
vue create vue3-ts
温馨提醒:如果创建失败,需要提前安装 @vue/cli 脚手架工具,才能通过以上命令创建项目。 如何安装 @vue/cli 官方教程: cli.vuejs.org/zh/guide/in…
Bilibili 主页
点我去视频详情页
视频详情页
点我回首页
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
const routes: Array = [
{
path: '/',
component: () => import('@/views/Home/index.vue')
},
{
path: '/video/:id',
component: () => import('@/views/Video/index.vue')
}
]
const router = createRouter({
history: createWebHashHistory(),
routes
})
export default router
这样就可以看见我们新建的首页页面了。
打开终端工具,输入 npm run serve 即可运行项目。
npm run serve
评论区里提供了项目 图片素材 和 样式文件,下载直接使用就可。
把素材文件夹中的 assets 文件夹移动到项目中,覆盖项目的 src\assets 文件夹。
项目入口文件 src\main.ts 里导入base.less、iconfont.less文件:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
//新导入文件:
import '@/assets/styles/base.less'
import '@/assets/styles/iconfont.less'
const app = createApp(App)
app.use(router)
app.mount('#app')
温馨提醒:新建三个文件备用即可,组件里面暂时不需要写入内容。
恭喜你已经学会在 Vue3 项目中如何导入组件和使用组件啦,为自己鼓掌。
此时的项目截图如下:
前端领域有很多成熟的组件库可以提高我们的开发效率,频道模块我们使用组件库快速实现。⚡
Vant 是 有赞前端团队 开源的移动端组件库,Vant 官方提供了 Vue3 版本,感谢有赞前端团队的贡献。
打开终端工具,输入 npm i vant@next 即可安装,vant@next 表示安装最新版 Vant 3。
npm i vant@next
npm i babel-plugin-import -D
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
plugins: [
[
'import',
{
libraryName: 'vant',
libraryDirectory: 'es',
style: true
}
]
]
}
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import '@/assets/styles/base.less'
import '@/assets/styles/iconfont.less'
// 导入Vant组件
import { Tab, Tabs } from 'vant'
const app = createApp(App)
// 注册Vant组件
app.use(Tab)
app.use(Tabs)
app.use(router)
app.mount('#app')
内容 1
内容 2
内容 3
内容 4
这时,效果图如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2TTFQ8EB-1655734119009)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/755638e1678e4c97996a41e29d1809e0~tplv-k3u1fbpfcp-zoom-in-crop-mark:1956:0:0:0.image?)]
恭喜你已经学会在 Vue3 项目中如何使用 Vant3 组件库的组件啦,为自己鼓掌。
npm i mockjs @types/mockjs -D
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import '@/assets/styles/base.less'
import '@/assets/styles/iconfont.less'
import { Tab, Tabs } from 'vant'
//添加mock导入
import '@/mock/index'
const app = createApp(App)
app.use(Tab)
app.use(Tabs)
app.use(router)
app.mount('#app')
npm i axios
内容 1
内容 2
内容 3
内容 4
控制台输出如下:
恭喜你已经学会在 Vue3 项目中如何使用 Axios 发送请求获取数据啦,再为自己鼓掌。
修改 src\views\Home\components\home-channel.vue 文件
此时项目截图如下: 恭喜你已经学会在 Vue3 项目中如何使用 TypeScript 的接口定义数据格式了,再为自己鼓掌。
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import '@/assets/styles/base.less'
import '@/assets/styles/iconfont.less'
import '@/mock/index'
//新增Swipe, SwipeItem组件:
import { Tab, Tabs, Swipe, SwipeItem } from 'vant'
const app = createApp(App)
app.use(Tab)
app.use(Tabs)
//新增使用:
app.use(Swipe)
app.use(SwipeItem)
app.use(store)
app.use(router)
app.mount('#app')
此时项目截图如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Z0ceCcF-1655734119009)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a01625a5879e414cb843e22b27e5b7a6~tplv-k3u1fbpfcp-zoom-in-crop-mark:1956:0:0:0.image?)]
恭喜你已经学会在 Vue3 项目中如何使用 Vant3 + Axios + TypeScirpt组合使用啦 ,你的格局已经打开,为自己努力学习鼓掌三次。
可能有些小伙伴的轮播图看不到图片,主要是 B 站的图片做了防盗链处理(我们能理解)。
我们可以添加代码避免出现这种情况(我们能通过技术破解访问限制)
打开项目文件:public\index.html,添加以下代码即可修复问题。
//添加此如下代码:
<%= htmlWebpackPlugin.options.title %>
{{ video.playCount }}
{{ video.commentCount }}
{{ video.desc }}
好了项目到此就结束了,文件的如下,有需要的小伙伴可以自己领取哦。 链接: pan.baidu.com/s/1VL0a4Zva… 提取码: wu3o