被喷了呀,喷的好惨。。还是要努力学习啊。。
JS-MAP问题
JS-MAP问题
发现问题
定义了一个MAP,代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const QuestuibOptionHandlerMap = new Map([
[0, getCommonOptions], //单选题
[1, getCommonOptions], //多选题
[2, () => {}], //填空题
[3, getCommonOptions], //下拉题
[4, () => {}], //日期
[5, () => {}], //量表题
[6, () => {}], //AHP 题组
[7, () => {}], //图片上传题
[8, () => {}], //文件上传题
[9, () => {}], //城市
[1, () => {}], //车型
]);输出MAP
1
console.log(QuestuibOptionHandlerMap);
然后输出的……..
解决问题.
以后多动动脑子,求你了.
卧槽啊啊啊啊啊啊!!!!!!
第二个,跟最后一个竟然重复了!!!!!!!!!
改行吧
记一次Array.prototype.sort的问题
啊,又犯了一个低级错误
记一次nuxt引入videojs的问题
记一次nuxt引入videojs排查问题经历
发现问题
开发的项目是基于nuxt框架,项目中需要使用videojs,在开发阶段没有问题,使用与样式展示都没有问题.
在打包之后运行,发现videojs的样式不能正确展示.样式错误,发现样式没有被打包.
解决问题(阶段1)
发现nuxt.config.js里面有一个配置extractCSS
是用来提取css的,把css提取到一个文件里面,把这个配置设置为false
就可以解决这个问题.
但是有了新的问题,因为没有提取css,nuxt在服务端渲染的时候,会把所有的样式在html页面返回,导致html的文件比较大.
当时花了一些时间,只找到这个解决办法,而且项目比较赶,暂时这样解决
解决问题(阶段2)
网页需要seo,因为样式全在html里面,不相关内容太多,权重比较低.seo大佬建议去掉这些样式.
找了好久,发现是因为用了tailwindcss
这个ui框架,tailwindcss
建议使用purgecss
这个库来去除不需要的css,不然打包后的文件会比较大.
videojs是在客户端使用js动态添加的class,导致purgecss
匹配不到这些样式.所以就从打包后的css内删除.导致样式展示错误.
去看官方文档,看到有一个safelist可以保留这些样式于是在nuxt.config.js内增加如下代码
1 | export default { |
发现不起作用,各种尝试,safelist.deep
,safelist.standard
属性,不使用正则等…还是不行,直到看到了一个tip
对比了一下自己的安装的依赖,发现nuxt使用的是老版本的purgecss,找到的相关的配置,代码如下.
1 | export default { |
问题解决.
总结
- 使用tailwindcss样式库,而且用到purgecss这个插件,要注意打包过后的样式是否正确,这个插件会删除不用的css(就是在页面中,没有匹配到相应的class名).
- 在如上前提下,出现新引入的框架样式展示不正确,考虑在nuxt.config.js里面添加相应的配置.
- purgecss 3.0版本以上添加
1
2
3
4
5
6
7export default {
// ...
purgeCSS:{
safelist: [/vjs/, /video/]
}
//...
} - purgecss 2.x 版本添加
1
2
3
4
5
6
7
8export default {
// ...
purgeCSS: {
whitelistPatterns: [/vjs/, /video/],
whitelistPatternsChildren: [/vjs/, /video/]
},
//...
} - 发现问题要及时解决.不能有
又不是不能用
这个心态…55555.
参考文档
寻找数组里面出现一次的数字
给定一个数字数组, 数组里只会有两个数字, 取出唯一一个数字的位置
事例
1 | 输入: [1,1,1,2,1,1] |
1 | 输入: [4,2,2,2,2,2,2] |
数组长度为10000
题解
1 | const arr = [1, 1, 1, 1, 1, 1, 2]; |
吐槽一下
卧槽啊!!!
你要怎么样嘛!
7000预算啊!!!大哥!!!
我就是一个穷上班的!!!!!
过个生日要7000!!!!!
我有那么有钱嘛!!!!!
大哥!!!!
实现一个观察者模式
实现一个基础当观察者模式,当被观察者变动当时候,通知观察者.
1 | class Observer { |