08 2019 档案
摘要:导出任务 任务(task)可以分为公开(public)或私有(private)类型 公开任务从gulpfile中被导出(export),可以通过gulp命令直接调用 私有任务被设计为在内部使用,通常作为series()或parallel()组合的组成部分(私有类型不能直接被用户调用) 例子1: 运行
阅读全文
摘要:Step1:检查是否已经安装了node,npm 和 npX是否正确安装 Step2:安装gulp命令行工具(全局安装gulp) Step3:创建项目目录并且进入 Step4:在项目目录下创建package.json文件 Step5:安装gulp,作为开发时依赖项(之前安装的事全局本地的,可是之后如果
阅读全文
摘要:运行之后会像下面一样报这个错误,因为事按着一个视频来写的,所以 原本的gulpfile.js如下 改成如下的形式就可以了 运行之后 原因:因为gulp不再支持同步任务.因为同步任务常常会导致难以调试的细微错误,例如忘记从任务(task)中返回 stream。 当你看到 "Did you forget
阅读全文
摘要:登录->publish一下 ->上npm官网查看 -> 安装全局
阅读全文
摘要:Cli(command-line interface),中文是 命令行界面,简单来说就是可以通过命令行快速生成自己的项目模板等功能(比较熟悉的是vue-cli脚手架这些),把上述写的包做成Cli工具. 延续上一次的代码,这次现在readme.md里面先注释告诉用户又那些命令行的语句具体对应哪些功能
阅读全文
摘要:浏览器发出一个请求,服务器解析出响应的结果返回给浏览器. 缓存是怎么工作的? 用户发起请求,浏览器检查本地是否存在缓存,如果第一次请求没有缓存,那就向服务器发起请求,服务器协商缓存的内容并且返回响应,接着返回缓存响应,再次请求时,会检查缓存是否失效,没有失效就使用本地缓存,如果本地缓存失效了, 缓存
阅读全文
摘要:range范围请求:向服务器发起请求可以申明我想请求判断内容的范围,从多少个字节到多少个字节,一次要求把所有的内容拿回来,服务器在得到相应的请求之后,从拿到对应的文件,拿到对应的字节返回给客户端.要实现这一功能,请求的时候在RequestHeaders里面放一个range对象和我们定义的范围,都好分
阅读全文
摘要:浏览器控制台看一下RequestHeader有一个Accept-Encoding,而RespondHeaders中也会有一个Content-Encoding和他进行对应. Accept-Encoding当我们的浏览器发起一个文件的请求时告诉服务器支持哪几种压缩方式,也就是服务器用这几种压缩方式浏览器
阅读全文
摘要:引入模板引擎(handlebars) 结构大概是这样子的,新建模板dir.tpl文件和route.js dir.tpl route.js app.js
阅读全文
摘要:实例3 上面有点回调,优化成近似同步的写法 route.js app.js
阅读全文
摘要:实例2 : 实现获取文件路径,判断是文件还是文件夹,如果是文件夹就显示里面的列表文件,如果是文件就显示里面的内容 defaultConfig.js app.js
阅读全文
摘要:.gitignore 匹配模式前 / 代表项目根目录 匹配模式最后加 / 代表是目录 匹配模式前加 ! 代表取反 * 代表任意一个字符 ? 匹配任意一个字符 ** 匹配多级目录 统一代码风格配置可以用一下editConfig来统一,代码规约(空格,function怎么定义等) 实例1 实现访问获取里
阅读全文
摘要:异步的形式总是将完成回调作为其最后一个参数。 传给完成回调的参数取决于具体方法,但第一个参数始终预留用于异常。 如果操作成功完成,则第一个参数将为 null 或 undefined。 1.读取文件操作(readFile) 举个例子(读取文件操作) 同步会先执行完 [尽量用异步] 2.写文件(writ
阅读全文
摘要:1.基础(on) 运行效果就是不断的执行this is a test 2.传一些参数,基础信息 3.执行一次就好了 once(下面即使是像之前on那样操作,也就是每个500毫秒执行一次,可是运行之后也就执行一次而已) 4.移除工作,绑定了一些事件在某些场景下需要移除掉(removeListener
阅读全文
摘要:Buffer(缓冲器) Buffer是用于处理二进制数据流的 实例类似整数数组,大小固定(实例化之后,是多大就多大,不能进行变更) C++代码在V8 对外分配物理内存 Buffer是全局变量,没必要使用require来引用 运行结果 静态的属性和方法(Buffer类本身的属性和方法)[常用的] Bu
阅读全文
摘要:path 和路径有关的操作 Path(路径) path 模块提供用于处理文件路径和目录路径的实用工具。 它可以使用以下方式访问 1. path.normalize(path) [就是把路径改成比较标准的路径格式] 运行结果 2.path.join([...paths]) 拼接,可以拼接路径,也是规范
阅读全文
摘要:13_debug.js 运行代码: 接着 打开chrome://inspect/#devices 进入调试环境
阅读全文
摘要:argv(参数相关的) env环境 cwd 打印出当前process可执行的路径 timer 举个例子: 12_timer.js(一般情况用setImmediate) process.nextTick比setImmediate执行得早 process.nextTick最快是因为把自己插入的funct
阅读全文
摘要:global全局对象,希望把全局访问到的对象,属性和方法等挂到global对象上,除了用户自定义的方法外,global本身默认带着一些常用的属性和方法的 CommonJS Buffer、process、console timer(在浏览器经常用两个setTimeout等) global变量栗子: 1
阅读全文
摘要:exports默认会给他设置为module.exports的快捷方式,可以把它的里面添加属性,但是我们不能修改它的指向,如果修改了它的指向那它和普通对象没有任何区别了。因为在CommonJS中,模块对外的输出的永远是module.exports和exports如果改了指向的话就不再生效了 举个例子:
阅读全文
摘要:webpack entry <entry> output webpack --config webpack.conf.js Step1:新建一个文件,里面有一个app.js 一个sum.js (名字随便命名就好了) app.js (引入sum.js) sum.js Step2:然后执行下面这句话 这
阅读全文
摘要:引用系统内置模块的方法 08_fs.js 引用第三方模块(chalk) 首先安装 接着文件夹会多出一个文件node_modules 09_chalk.js 直接写名字,第一步会直接检查node.js内置得模块,但是内置没有,就会检查当前路径所在得node_modules,再检查不到就检查父类的...
阅读全文
摘要:CommonJS 每个文件是一个模块,有自己的作用域 在模块内部module变量代表模块本身 module.exports属性代表模块对外接口 require规则 /表示绝对路径,./表示型对于当前文件的(相对路径) 支持js,json,node拓展名,不写依次尝试,都找不到就会报错 不写路径则认为
阅读全文
摘要:NodeJS并不适合所有server端的场景,它的使用场景是及其有限的,web是nodeJS最适合的场景 前端偏爱node的原因其内核就是JavaScript 前端职责范围变大,统一开发体验 在处理了高并发,I/O密集场景性能优势明显 CPU密集 VS I/O密集 CPU密集:压缩,解压,加密,解密
阅读全文
摘要:Node.js is a JavaScript runtime built on Chrome's V8 Node.js uses an event-driven,non-blocking I/O model(事件驱动和IO模型) 非阻塞I/O (Input / Ouput) 阻塞I/O:I/O 时
阅读全文
摘要:使用webpack webpack命令 webpack配置 第三方脚手架 1.webpack命令 webpack - h (webpack 所有的选项) webpack -v (查看webpack的版本) webpack <entry> [<entry>] <output> (完成以西最简单的打包)
阅读全文
摘要:webpack的核心概念(四个) 入口(entry) 输出(output) loader 插件(plugins) Entry(入口)——指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始。代码的入口,打包的入口,一个或多个,可以通过代码的入口找到他依赖的模块或者间接找到 outpu
阅读全文
摘要:安装webpack的时候发现第一句话就报错了,之后查了一下找到原因,原来是因为设置了代理服务 原文 ,参考了之后知道是因为代理问题,就按着来做
阅读全文
摘要:在Chrome 在IE11 本来以为是padding问题导致出现左右两边的底部不在同一直线(在IE上),在Chrome显示是正常的,查了一下,IE11和Chrome都是content-box,所以排除了着方面的可能,之后才发现自己定义的字体大小是10px,才发现在低于12px的在Chrome浏览器上
阅读全文
摘要:发现是因为参数里面有一个是中文,应该是IE没有转码,所以会报错,只要用encodeURI()实现转码即可
阅读全文
摘要:今天发现,如果设置select的trigger:'blur'就算选择之后还是边框是红色的,之后查了一下iview的文档,也没有找到准确的蚊子描述,只看到form那个组件其中有一个例子,大概是select会对应change,input对应blur还有其他checkbox的....,因为判断的有点乱,一
阅读全文
摘要:[已知宽高] 2.已经知宽高[父元素相对定位,子元素绝对定位 top为0,bottom为0,left为0,right为0,margin为auto] [未知宽高] 1.未知宽高[CSS3的transform,绝对定位,top为50%,left为50%] transform只兼容到IE9 2.未知宽高[
阅读全文
摘要:[实现要求] 红色的和黄色的内容撑开,蓝色包住红黄,不定框居中显示 [遇到问题] chrome显示正常,但是在IE上红黄框会出现错位的问题 [如何解决] 给红色框添加一个overflow:hidden就好了
阅读全文
摘要:浏览器兼容问题(主要时IE上遇到的坑坑坑) caniuse 工具(基本参考作用,实际还是需要测试) (1)安装babel-polyfill基本操作了,IE浏览器没有内置Promise对象,不仅如此,几乎所有的ES6新增方法IE都不能用,所以需要babel Polyfill (2)Flex 不兼容IE
阅读全文
摘要:点击第一次实现升序,第二次降序,以此类推 这里是这样的情景,要排序列表里面的其中一个属性(时间),写了两个函数一个是实现升序,一个实现降序,接着点击的那个方法分别监测点击的次数来调用升序还是降序
阅读全文
摘要:实现效果如下图:点击弹出弹窗(弹窗用iview的modal组件),在输入框填写并存储(用了一下localstorage来存储),这个组件参考了条链接,原文存储的功能链接,还有以为博主的日历实现后续找到补上。按需选取吧代码部分。 代码贴上 CSS 结构部分: 逻辑部分
阅读全文