常见error集合 Cannot use import statement outside a module原因:在commonJS中用了es6的语法,import。分析: 一般我们的运行环境按照模块化标准来分,可以分为es6和commonJS两种,在es6中引入模块用import,在commonJS中用require。在你的环境中,全局下,输出this,如果指向的是undefined,那么就是es6,否则是commonJS解决方法把文件改成.ts后缀或者import改成require
vue | 劫持原理 2中的拦截器,实在组件注册的时候,就确定了哪些属性被监听。由于defineProperty中,只能监听set和get方法,所以会出现,对象新添加属性,视图不会更新。首先3是基于proxy的,它提供了很多拦截方法,包括但不限于对象的delete事件,数组的push等事件。
js | undefined vs null vs void 0 参考链接:js中==的隐式转换写得很好:https://juejin.cn/post/6844903832560861191比如在chorme中,虽然不允许更改,如下,但ie8什么的,好像就有问题,全局下也允许更改nodejs中把上面的window,换成global就行了。
css | 几个height • offsetHeight = 内容高度 + padding + border。• scrollHeight = 内容实际尺寸 + padding。• clientheight = 内容高度 + padding。height:作用于content。
css | padding vs margin 以下代码,外面盒子是100x10的,里面的width设置成了100%,显然,inner.width=100px,那么,inner.padding-bottom设置成100%,照理来说,为10px,但实际不是,而是100px。盒子模型反映,content的height是0,在这种情况下,inner在计算padding属性的时候,会以父元素的width为基准,所以会是100px*100%=100px;padding和margin用百分比的时候是怎么算的?一般情况下,根据相应的父元素属性。
面经 | webpack 说了loader是一个函数,所以你可以自己新建一个文件,自定义loader函数: 然后在rules中引入就行了;(其实也可以在需要的其他文件中引入)this.query 和 this.callback;去搜loader函数,很容易在函数中看到这样两行// ...this.query就是在获取你配置的{key:‘value’},如下图;// 要配置options的话,只能是一个对象;//