在项目开发中,我们经常遇到这样的需求: 由于浏览器的屏幕区域有限,而承载的内容越来越多。经常会需求当滚动区域过了后,希望把重要信息(表头、菜单、栏目等)固定浮动,方便阅读信息。 以往的做法: <!DOCTYPE html> <html lang="en"> <head> &l...
jest 之辅助函数运用
写测试用例的时候,我们经常需要进行测试之前做一些准备工作,和在进行测试后需要进行一些整理工作。Jest提供辅助函数来处理这个问题。 一次性设置 如何要为测试设置初始化值等,且只会执行一次,可以使用 beforeAll、afterAll let i = 0; let j = 0; beforeAll(...
webpack 构建之样式隔离,postcss-selector-namespace
随着大前端的到来,越来越多的巨石应用。前端似乎走上后端一样的发展历程。mvc、mvvm、前端微服务出雨后春笋一样出现在大众的眼前。 随之而来的应用之间的冲突就成了老大难。 js 冲突、css冲突。一些比较好的框架,有 js 沙箱,css 沙箱。 vue style scoped 样式作用...
webpack, ts-loader 之提高 typescript 编译速度
设置 transpileOnly 为 true, 就会关闭 typescript 类型检查,只做编译。 module.exports = { ... module: { rules: [ { test: /\.tsx?$/i, use: [ { loader: 'ts-loader', options: {...
tsconfig.json 关于编译配置项详解
{ "compilerOptions": { "incremental": true, // 增量编译 "tsBuildInfoFile": "./buildFile", // 增量编译文件的存储位置 "diagnostics": true, // 打印诊断信息 "target": "ES3", // 目标语言的版本 "module": "commonjs", // 生成代码的模...
http-server 使用详解
http-server 是一个简单的零配置的命令行 http服务器,通常可以非常方便的用于生产及本地测试开发。 有时候本地有一个静态目录,如一些静态 html 文件及一些静态资源。他们的路径又是绝对引用路径。显然直接打开 html 文件,就会报静态资源路径有问题,无法正常预览。 ...
javacript 变量、函数声明、函数表达式之声明提升详解
变量声明提升 变量声明提升至项部。 if (false) { var a = 10; } console.log(a); // undefined // 相当于 var a; if (false) { a = 10; } console.log(a); // undefined 结论:由于变量声明提升,故输出 undefined,而非报错信息。 Uncaught ReferenceError...
javascript 数组方法简论
Arrray 类定义的方法在日常开发中用处非常之大,但是有很多细微之处,有些开发人员并不一定知道,可能在开发中稍不注意,就会踏入坑中。 比如有的方法会修改调用它们的数组,而有些则不会。另外有些方法会返回数组:有的返回这个数组的新数组,原始数组保持不变;有的原始...
{}、new Object()、Object.create的区别
主要区别 {} 和 new Object() 除了本身创建的对象,都继承了 Object 原型链上(Object.protoperty)的属性和方法,如:toString();当创建的对象相同时,{} 等价于 new Object(); Object.create() 是创建对象继承到原型链上,而本身没有继承 Object.prototype 的属性和...
[@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be imported.
Vue3项目遇到编译警告 下午10:50:02 [vite] hmr update /src/components/Rate.vue[@vue/compiler-sfc] defineProps is a compiler macro and no longer needs to be imported. [@vue/compiler-sfc] defineEmits is a compiler macro and no longer needs to be imported...