Web前端最全如何搭建和发布一个 Vue 组件库,面试必会

学习分享,共勉

题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

这就是我们将要构建的按钮

可以直接将下面这段代码复制到你的文件中:

{{ text }}

src/lib-components/FccButton.vue

可以看到,在代码段的最上方部分是页面元素的模板:一个按钮,其 class 为 “btn-cta”,其文本内容为我们传递给它的变量 text 的值。

在 script 标签中,定义了组件名称及组件将要接收的属性(props),这个示例组件只接收一个默认值为 “Run the Tests” 的名为  text  的属性。

我们还定义了一些样式,以使这个按钮呈现出我们想要的外观。

为了查看这个组件的效果,需要将它添加到  lib-components  路径下的  index.js  文件中。index.js 文件内容如下:

/* eslint-disable import/prefer-default-export */

export { default as FccButton } from ‘./FccButton’;

src/lib-components/index.js

还需要在  dev  路径下的  serve.vue  文件中导入这个组件,代码如下:

/dev/serve.vue

再次执行  npm run serve  命令,在浏览器中访问  http://localhost:8080/  地址即可查看这个按钮组件的最终效果。

现在已经构建出我们想要的组件。之后可以参照这些步骤来构建自己的组件,切记要在  /lib-components/index.js  文件中将其导出,以确保在我们后续发布的 npm 包中这些组件是可用的。

发布到 NPM

=======

现在,组件库发布前的准备工作已经完成,我们需要执行构建过程来将其打包。

由于这是我们组件库的第一次发布,建议在执行 build 命令之前在  package.json  文件中将版本号设置为  0.0.1。我们将会在发布第一个正式版本之前加入更多组件。想要了解更多关于语义化版本的信息,查看这里。

执行  npm run build

如文档所述:

执行 build 脚本将会在  dist  路径中生成 3 个编译后的文件,文件名和路径由 package.json 文件中的  mainmoduleunpkg  属性指定。这些文件生成之后,可以进行下一步。

命令执行完毕之后,我们已经准备好将组件库发布到 NPM 了。在此之前,确保你有一个 NPM 账号(没有的话,可以点击这里进行注册)。

接下来将你的 NPM 账户添加到终端(terminal):

npm adduser

理解 package.json

我们使用 package.json 文件来控制要将哪些文件发布到 npm。初始化项目时生成的  package.json  文件内容如下:

“main”: “dist/brian-component-lib.ssr.js”,

“browser”: “dist/brian-component-lib.esm.js”,

“module”: “dist/brian-component-lib.esm.js”,

“unpkg”: “dist/brian-component-lib.min.js”,

“files”: [

“dist/*”,

“src/**/*.vue”

],

files  属性中的配置指定 npm 将  dist  文件夹中所有内容及  src  文件夹下所有  .vue  文件发布。你可以根据需要更新配置,在本次教程中我们让它保持原样即可。

由于我们没有更改 package.json 的内容,现在可以直接发布了。只需执行如下命令:

npm publish

Vue 面试题

1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?

算法

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  1. 冒泡排序
  2. 选择排序
  3. 快速排序
  4. 二叉树查找: 最大值、最小值、固定值
  5. 二叉树遍历
  6. 二叉树的最大深度
  7. 给予链表中的任一节点,把它删除掉
  8. 链表倒叙
  9. 如何判断一个单链表有环
  10. 给定一个有序数组,找出两个数相加为一个目标数

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666

et/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

  1. 冒泡排序
  2. 选择排序
  3. 快速排序
  4. 二叉树查找: 最大值、最小值、固定值
  5. 二叉树遍历
  6. 二叉树的最大深度
  7. 给予链表中的任一节点,把它删除掉
  8. 链表倒叙
  9. 如何判断一个单链表有环
  10. 给定一个有序数组,找出两个数相加为一个目标数

    [外链图片转存中…(img-5WLP8Z7Z-1715889017976)]

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值