02 2020 档案
摘要:全局对象就是不需要引用就可以直接使用的对象。需要注意的是全局对象区别于global关键字。nodejs全局对象分为以下几类: 1、为模块包装使用的全局对象 (1)exports (2)module (3)require (4)__filename:当前文件名称 (5)__dirname:当前文件目录
阅读全文
摘要:Commonjs模块化的代码运行在浏览器上有2种方法: (1)browserify (2)webapck
阅读全文
摘要:1、Commonjs中关键字 (1)require:引入模块,参数是模块标识,若不在node_modules下,会去路径下查找。 (2)export是一个对象,它的任何输出都将作为一个对外暴露的公共API。 2、Nodejs的Commonjs实现 (1)Nodejs中,真正对外暴露对象是module
阅读全文
摘要:众所周知,nodejs支持的模块化规范是Commonjs,不支持ES6的module。如何让node程序像es6一样import库呢? 1、安装babel npm install @babel/core @babel/register @babel/preset-env --save-dev 2、原
阅读全文
摘要:1、简介 only库作用是返回对象白名单属性,即返回只想对外暴露的属性。 https://www.npmjs.com/package/only 2、安装 npm install only 3、使用 let only = require('only') var obj = { name: 'tobi'
阅读全文
摘要:1.ts编译 npm install --save-dev @babel/preset-typescript 2、转换插件 https://www.babeljs.cn/docs/plugins preset 的形式启用一组插件。 需要说的是: 插件在 Presets 前运行。 插件顺序从前往后排列
阅读全文
摘要:序言: 作为一名合格的前端开发者,大家都应该知道改变js作用域中上下文的方法有:call、apply和bind。思考一个问题:还有没有更好的实现方式呢? 1、call和apply call和apply是最简单实现改变函数体内部this指向的方法,他们的区别仅仅是第二个参数不同。语法示例: obj.c
阅读全文
摘要:参考:https://myslide.cn/slides/9954#
阅读全文
摘要:1、简介 相比于props和emit,provide和inject为跨组件通信提供了更好的方式。 2、示例 <html> <head> <title>组件通信 provide 和 inject</title> <script src="https://cdn.jsdelivr.net/npm/vue
阅读全文
摘要:1、数组 for…of是支持 break、continue、return的,所以在功能上非常贴近原生的 for。 2、箭头函数 let test = { name: 'test', say: () => { console.log(this.name, this) } } console.log(t
阅读全文
摘要:1、简介 Node.js的Unix Shell命令 https://www.npmjs.com/package/shelljs 2、示例 var shell = require('shelljs'); // 文件拷贝 shell.cp('-R', 'test.js', 'test3.js'); //
阅读全文
摘要:1、简介 将Windows反斜杠路径转换为斜杠路径,如foo\\bar ➔ foo/bar。 https://www.npmjs.com/package/slash 2、示例 const path = require('path'); const slash = require('slash');
阅读全文
摘要:1.简介 常见的交互式命令行用户界面的集合。 https://www.npmjs.com/package/inquirer 2、示例(输入和单选) var inquirer = require('inquirer'); var questions = [ { type: 'input', name:
阅读全文
摘要:1、简介 JavaScript匹配引擎。 https://www.npmjs.com/package/didyoumean 2、示例 var input = 'insargrm' var list = ['facebook', 'twitter', 'instagram', 'linkedin'];
阅读全文
摘要:1、简介 深度合并两个或多个对象的可枚举属性。 https://www.npmjs.com/package/deepmerge 2、示例 const x = { foo: { bar: 3 }, array: [{ does: 'work', too: [ 1, 2, 3 ] }] } const
阅读全文
摘要:1、简介 Commander.js:node.js 命令行接口的完整解决方案 https://github.com/tj/commander.js/blob/HEAD/Readme_zh-CN.md#commanderjs 2、常用示例 const program = require('comman
阅读全文
摘要:1、简介 正如vue-cli(https://cli.vuejs.org/zh/ ),脚手架的主要作用是: 减少重复性的工作,不再需要复制其他项目再删除无关代码,或者从零创建一个项目和文件。 根据交互动态生成项目结构和配置文件等。 2、开发脚手架采用库 commander,可以自动的解析命令和参数,
阅读全文
摘要:Node自动重启工具 nodemon "npm地址" 安装 or 参数 显示: 使用
阅读全文
摘要:"官方文档" javascript import Vue from 'vue' import VueRouter from 'vue router' Vue.use(VueRouter) const Home = { template: 'home' } const Foo = { template
阅读全文
摘要:HTML5 History 模式 后端ngnix配置 按顺序检查文件是否存在,返回第一个找到的文件。 若没有文件,查找$uri/目录。结尾的斜线表示为文件夹 $uri/。 如果所有的文件都找不到,会进行一个内部重定向到最后一个参数。 务必确认只有最后一个参数可以引起一个内部重定向,之前的参数只设置内
阅读全文
摘要:vue router 嵌套命名视图 路由代码: 确保正确使用 components 配置 (带上 s)。
阅读全文
摘要:npm 源管理 nrm "nrm" 安装 查看源 添加 `nrm add 源名称 源地址 ` 切换 删除源
阅读全文
摘要:windows系统git使用zip命令报错解决方法 报错信息:zip command not found 解决方法 下载zip 3.0 bin.zip和bzip2 1.0.5 bin.zip压缩包 "下载地址" 文件拷贝 解压压缩包并把zip 3.0 bin.zip解压后的bin文件夹下的zip.e
阅读全文
摘要:vue v html 动态内容样式无效解决 通过 v html 创建的 DOM 内容不受 scoped 样式影响,但是你仍然可以通过深度作用选择器来为他们设置样式。 有些像 Sass 之类的预处理器无法正确解析 。这种情况下你可以使用 /deep/ 或 ::v deep 操作符取而代之——两者都是
阅读全文
摘要:dist 目录需要启动一个 HTTP 服务器来访问 (除非你已经将 publicPath 配置为了一个相对的值),所以以 file:// 协议直接打开 dist/index.html 是不会工作的。在本地预览生产环境构建最简单的方式就是使用一个 Node.js 静态文件服务器,例如 serve:
阅读全文
摘要:Vue 项目环境变量 环境变量: 模式 development 模式用于 vue cli service serve production 模式用于 vue cli service build 和 vue cli service test:e2e test 模式用于 vue cli service
阅读全文
摘要:gitHooks使用 package.json配置: 核心配置: 执行说明: (1)eslint校验标准:@vue/standard (2)当开发者执行 git add 操作将代码提交到暂存区后,再执行 git commit 操作时: pre commit钩子在 git commit 执行时被触发,
阅读全文
摘要:vue cli modern Vue CLI 会产生两个应用的版本:一个现代版的包,面向支持 ES modules 的现代浏览器,另一个旧版的包,面向不支持的旧浏览器。 现代版的包会通过 ` preload和prefetch关系 preload和prefetch都没有同域名的限制 preload主要
阅读全文
摘要:vue 项目代码风格 "风格指南" 一个常常不注意的写法: 没有在 v if/v else if/v else 中使用 key 如果一组 v if + v else 的元素类型相同,最好使用 key (比如两个 元素)。
阅读全文
摘要:url 安全处理 npm 插件sanitize url "插件地址"
阅读全文
摘要:按需加载第三方库 示例:lodash "lodash webpack plugin" external 入口index.html 引入第三方库,如vue webpack 构建配置文件添加externals配置 文件中正常引入第三方包,如vue dll 在使用webpack进行打包时候,对于依赖的第三
阅读全文
摘要:keep alive 生命周期 父组件 组件A: 组件B: 切换组件A和组件B,控制台打印: 结论: 首次激活时,activated都在mounted后。 再次激活时,本组件只走activated(另外一组件先失活deactivated) 组件失活时,均不走beforeDestroy和destroy
阅读全文
摘要:作用域插槽 作用域插件的目的就是:获取本组件的数据!。 示例代码todo list组件: 即在slot中可以使用本组件todo数据。 与父组件: 这样在父组件的写法多余了: 因为组件中的slot完全获取到了todo的数据, 子组件完全可以修改为: 父组件可以不做逻辑判断了。
阅读全文
摘要:vue组件传值 非 Prop 的 Attribute 一个非 prop 的 attribute 是指传向一个组件,但是该组件并没有相应 prop 定义的 attribute。 因为显式定义的 prop 适用于向一个子组件传入信息,然而组件库的作者并不总能预见组件会被用于怎样的场景。这也是为什么组件可
阅读全文
摘要:redis实现发布和订阅 示例 publish.js readRedis.js 先执行readRedis.js,后执行publish.js,readRedis.js的控制台输出: 每个文件都可以监听和发布消息。
阅读全文
摘要:安装插件 添加cross env 运行指令即可
阅读全文
摘要:本地项目目录下右键 git bash here github上创建项目 本地项目与git项目关联 git pull 处理冲突 git add . git commit m 'init' git push origin master
阅读全文
摘要:mongoose 创建索引 字段级别 schema级别 1和 1分别表示升序索引和降序索引
阅读全文
摘要:tsconfig.json ts配置文件解析 tsconfig 编译选项 https://www.tslang.cn/docs/handbook/compiler-options.html 示例配置: { "compilerOptions": { //指定生成哪个模块系统代码: "None", "C
阅读全文
摘要:node schedule node 定时任务 typescript使用 "Node Schedule" 安装 使用
阅读全文
摘要:js base64 Base64转码器 "js base64"
阅读全文
摘要:node 防止 CSRF 跨站点请求伪造(称为 CSRF 或 XSRF)是一种恶意利用网站,其中未经授权的命令从 Web 应用程序信任的用户传输。要减轻此类攻击,您可以使用 csurf 软件包。首先,安装所需的包: 安装完成后,将其应用为全局中间件。
阅读全文
摘要:Helmet插件使用 "helmet" Helmet插件可以解决xss等攻击 示例(express为例)
阅读全文
摘要:chrome应用商店搜索Saladict 安装即可。
阅读全文
摘要:Nginx 负载均衡配置 负载均衡分类 一种是通过硬件来进行解决,常见的硬件有 NetScaler、F5、Radware 和 Array 等商用的负载均衡器,但是它们是比较昂贵的 一种是通过软件来进行解决的,常见的软件有 LVS、Nginx、apache 等,它们是基于 Linux系统并且开源的负载
阅读全文
摘要:Nginx 反向代理配置示例(conf文件配置) www.aaa.com代理到http://127.0.0.1:3001 www.bbb.com代理到http://127.0.0.1:3002
阅读全文
摘要:删除文件 rm -rf file11 -r:递归的删除目录下面文件以及子目录下文件。 -f:强制删除,忽略不存在的文件,从不给出提示 查看文件内容 cat file1 more file1 less file1 liunx 服务器上面查找文件 find / -name httpd.conf find
阅读全文