;

1.webpack-bundle-analyzer 可视化显示打包后文件中个文件的大小 安装: npm install –save-dev webpack-bundle-analyzer 链接:https://www.npmjs.com/package/webpack-bundle-analyzer 2.vuex-persist https://www.npmjs.com/package/vuex-persist 3.Page Skeleton 相关文章:https://www.jianshu.com/p/6a4c0b281e7f

webpack常用插件 2018年12月17日
;

1.安装 npm install –save-dev prerender-spa-plugin 安装过程中,会下载puppeteer 2.配置build/webpack.prod.conf.js 基本 const path = require(‘path’) const PrerenderSPAPlugin = require(‘prerender-spa-plugin’) module.exports = { plugins: [ … new PrerenderSPAPlugin({ // Required – The path to the webpack-outputted app to prerender. staticDir: path.join(__dirname, ‘../dist’), // Required – Routes to render. routes: [ ‘/’, ‘/about’ ], }) ] } 高级 const PrerenderSPAPlugin = require(‘prerender-spa-plugin’) const Renderer = PrerenderSPAPlugin.PuppeteerRenderer module.exports = { plugins: [ … new P…

prerender-spa-plugin相关问题整理 2018年12月14日
;

路径:config/index.js build: { assetsPublicPath: ‘/’ 改为 assetsPublicPath: ‘./’ } 打包后文件如果放入子目录中,添加base属性 mode: ‘history’, base: ‘/test666/1212’,

webpack打包资源路径,以及history路由配置 2018年12月12日
;

dolly zoom 如果你喜欢看悬疑恐怖片,或许你看过这种让人毛骨悚然这种镜头——画面中间人物大小位置不变,而身后的背景却缓缓放大或缩小,就像空间扭曲了一样。 电影《迷魂记/Vertigo》 这种镜头就叫做滑动变焦(Dolly Zoom)。 1958年,导演希区柯克第一次把这个技巧用在电影《迷魂记/Vertigo》中,表现恐高的男主角站在高处向下看时候的眩晕反应。后来这种技法用在许多电影中,这用于渲染某种紧张的情绪,或者强调画面中的人物所处的环境。所以…… “拍摄原理很复杂吗?” “不,手机也可以拍!” 一边调整摄影机内的变焦镜头产生变焦效果,一边推动摄影机前后移动,就能拍出滑动变焦的镜头。 要实现这种效果,理论上讲只要设备能够变焦都能做到,包括手机。以下含多张动图及教程讲解……看完你也可以拿起手机拍起来! 手机教程 灵眸妹手持手机拍摄 iPhone 8 Plus 拍摄效果 通过上图我们发现,手持手机虽然可以拍出滑动变焦,但出来效果似乎不够“滑”,主要难题在于:(1)手不够稳导致画面抖动 ( 2)屏幕变焦按钮不好操控 “如何拍出更顺畅的滑动变焦?” 是时候拿出这个神器 灵眸手机云台2 灵眸教程 (1)选一个有特色或有纵深感的景; 让拍摄对象和摄影师之间有一定间距; (2)将手机安装到灵眸手机云台2上,连接DJI GO App,相机设置调至视…

移动变焦 2018年10月18日
;

创建一个具有指定原型且可选择性地包含指定属性的对象。 Object.create(prototype, descriptors)

javascript中的继承 2018年10月17日
;

一、原型 ①所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象 ②所有函数都有一个prototype(原型)属性,属性值是一个普通的对象 ③所有引用类型的__proto__属性指向它构造函数的prototype var a = [1,2,3]; a.__proto__ === Array.prototype; // true 二、原型链 当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的__proto__隐式原型上查找,即它的构造函数的prototype,如果还没有找到就会再在构造函数的prototype的__proto__中查找,这样一层一层向上查找就会形成一个链式结构,我们称为原型链。 举例,有以下代码 function Parent(month){ this.month = month; } var child = new Parent(‘Ann’); console.log(child.month); // Ann console.log(child.father); // undefined 在child中查找某个属性时,会执行下面步骤: 访问链路为: ①一直往上层查找,直到到null还没有找到,则返回undefined ②Object.prototype.__proto_…

什么是原型和原型链? 2018年10月16日
;

premiere亮度键抠图 对应英文菜单:luma key https://www.jb51.net/softjc/616766.html premiere怎样让视频画面逐渐放大 https://jingyan.baidu.com/article/0a52e3f4eb915fbf62ed72f7.html premiere中时间重映射怎么用? https://jingyan.baidu.com/article/48b558e3fe4b997f38c09ae1.html Pr让视频画面跟音乐节奏鼓点走 https://jingyan.baidu.com/article/09ea3ede4dea20c0aede390e.html https://m.bilibili.com/video/av29486147.html 跳轴 rgb分离

premiere教程 2018年10月12日
;

安装 步骤一:新建目录puppeteerProject 步骤二:初始化项目npm init 步骤三:npm i puppeteer (此处需要下载Chromium,如果下载失败更换为cnpm) 中途会下载Chromium,大小300M 保存路径\node_modules\puppeteer\.local-chromium\win64-588429\chrome-win32 配置相关 const browser = await puppeteer.launch({ headless: false, // default is true 打开运行界面 executablePath: ‘C:/Users/Administrator/AppData/Local/Google/Chrome/Application/chrome.exe’ // 在正式的chrome浏览器中运行代码 slowMo: 250 // slow down by 250ms }); 防止被反爬虫识别 puppeteer特征属性 navigator.userAgent配置中如果headless未设置或者为true,此时userAgent中会包含headlessChrome navigator.webdriver正常浏览器中并没有这个属性,puppeteer被特别添加,可以用如下代码…

puppeteer介绍 2018年9月28日
;

通过在有限的土地上投入大量的劳动力来获得总产量增长的方式,即边际效益递减的方式,称为没有发展的增长即“内卷化”。 模拟经营类游戏的最大问题根本就不在于道德困境,而在于内卷化困境。不断升级的建筑、越来越细分的科技树,就如同现实中越来越复杂的社会结构和组织形态,带来的却是没有实际发展的不断增长,最终还是陷在“人口—食物—住房”的死循环里打转。清代以来,山东“内卷化”导致的“闯关东”和游戏制作方推出新地图、新DLC并无二致。 什么是真实?这其实挺重要。 游戏是虚拟的,但好的游戏又无一不是真实的。我们玩游戏,是想体验虚拟世界,但实际上,我们是想体验真实。 更重要的是,我们的情感和道德是“真实”的。

内卷化 2018年9月15日
;

<meta name="theme-color" content="#42b983" /> 参考链接:http://www.webhek.com/post/how-to-change-the-color-of-header-bar-and-address-bar-use-theme-color.html

theme-color设置浏览器地址颜色 2018年9月9日
;

解决办法: 1、Firefox的用户请在浏览器的地址栏输入“about:config”,回车 2、在过滤器(filter)中搜索“security.fileuri.strict_origin_policy” 3、将security.fileuri.strict_origin_policy设置为false 4、关闭目前开启的所有Firefox窗口,然后重新启动Firefox。 参考链接:https://blog.csdn.net/senssic/article/details/48436365

firefox无法通过ajax读取本地json文件 2018年9月5日
;

1.基本用法 runAsync1() .then(function(data){ console.log(data); return runAsync2(); }) .then(function(data){ console.log(data); return runAsync3(); }) .then(function(data){ console.log(data); }); function runAsync1(){ var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log(‘异步任务1执行完成’); resolve(‘随便什么数据1’); }, 1000); }); return p; } function runAsync2(){ var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log(‘异步任务2执行完成’); resolve(‘随便什么数据2’); }, 2000); }); return p; } function runAsync3(){ var p = new Promis…

Promise用例 2018年8月24日
;

框架效应(Framing effects) ,指人们对一个客观上相同问题的不同描述导致了不同的决策判断。框架效应的概念由Tversky和Kahneman于1981年首次提出。 当消费者感觉某一价格带来的是“损失”而不是“收益”时,他们对价格就越敏感。

框架效应 2018年8月18日
;

关键字 AUTOINCREMENT 只能用于整型(INTEGER)字段 CREATE TABLE fileInfo ( id INTEGER PRIMARY KEY AUTOINCREMENT, name STRING, status INTEGER NOT NULL );

sqllite创建自增字段 2018年8月15日
;

npm yo npm install -g generator-keystone yo keystone

keystone安装 2018年8月13日
;

1.启动服务,MongoDB 目录的 bin 目录中执行以下命令 C:\mongodb\bin\mongod –dbpath c:\data\db 2.上面窗口不要关,新开窗口执行 C:\mongodb\bin\mongo.exe

mongodb启动步骤 2018年8月13日
;

当你不想修改默认安装路径的权限,因为由此可能会带来一些额外问题,譬如说,修改权限后无法跟当前系统其他用户共享。这个时候可以考虑修改默认的安装路径。 在示例下,我把默认全局安装路径修改到当前用户的home目录下面: 1、新建一个全局安装的路径 mkdir ~/.npm-global 2、配置npm使用新的路径 npm config set prefix ‘~/.npm-global’ 3、打开或者新建~/.profile,加入下面一行 export PATH=~/.npm-global/bin:$PATH 4、更新系统环境变量 source ~/.profile 安装一个全局包试一试: npm install request –save -g 5.所以默认参数 npm config ls -l npm config list 参考链接: https://blog.csdn.net/gentlycare/article/details/51279529 https://stackoverflow.com/questions/16482600/node-js-cannot-find-module-request

npm修改默认全局安装路径 2018年8月6日
;

Ubuntu 14.04 sudo apt update -y sudo apt install -y nodejs nodejs-legacy npm sudo npm config set registry https://registry.npm.taobao.org sudo npm install n -g sudo n stable n是一个Node工具包,它提供了几个升级命令参数: n //显示已安装的Node版本 n latest //安装最新版本Node n stable //安装最新稳定版Node n lts //安装最新长期维护版(lts)Node n <version> //根据提供的版本号安装Node npm install -g npm //npm升级 注意事项: 起初通过如下方式安装 sudo apt-get install nodejs sudo apt-get install npm node -v 命令不可用 nodejs -v 显示版本为v0.10.25 通过上面方法安装以后 nodejs -v 依然显示为v0.10.25 但是 node -v 命令已经可以用,并且显示当前安装的新版本 后续补充 n 模块切换 node 版本无效的解决办法 问题概述 全局安装 n 模块 npm install …

Ubuntu安装最新版nodejs 2018年8月6日
;

原理:如果成功会触发window的blur事件 (function($)) { $(‘a[href^=mailto]’).each(function() { var href = $(this).attr(‘href’); $(this).click(function() { var t; var self = $(this); $(window).blur(function() { // The browser apparently responded, so stop the timeout. clearTimeout(t); }); t = setTimeout(function() { // The browser did not respond after 500ms, so open an alternative URL. document.location.href = ‘…’; }, 500); }); }); })(jQuery); 参考链接:https://www.uncinc.nl/en/articles/dealing-mailto-links-if-no-mail-client-available

检测mailto是否成功打开了客户端 2018年8月2日
;

1.文件index.html <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=自己去申请"></script> 2.bmap.vue <template> <div class="bmap"> <div id="bmap"></div> </div> </template> <script> export default { name: ‘index’, data () { return { message: ‘666’ } }, methods: {}, mounted () { var BMap = window.BMap var map = new BMap.Map(‘bmap’) // 创建Map实例 map.centerAndZoom(new BMap.Point(116.404, 39.915), 11) // 初始化地图,设置中心点坐标和地图级别 map.setCurrentCity(‘北京’) // 设置地图显示的城市 此项是必须设置的…

vue-cli引入百度地图 2018年8月2日
;

文件路径:’my.ini’ 修改为: default-storage-engine=INNODB

Specified key was too long; max key length is 1000 bytes 2018年7月30日
;

任何对象都有一个__proto__属性 任何方法都有一个prototype属性,prototype也是一个对象 ,所以其中也有一个___proto__ 大多数浏览器的ES5实现之中,每一个对象都有__proto__属性,这个属性就是一个指针,指向对应的构造函数的prototype属性 var obj1={}; console.log(obj1.__proto__===Object.prototype); //输出true Object.prototype.__proto__ //null var obj1={}; console.log(obj1.__proto__.__proto__===null); //true 当我们访问一个对象的属性 时,如果这个对象内部不存在这个属性,那么他就会去__proto__里找这个属性,这个__proto__又会有自己的__proto__,于是就这样 一直找下去,也就是我们平时所说的原型链的概念。 __proto__可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法。 funcition这个特殊的对象,除了和其他对象一样有上述_proto_属性之外,还有自己特有的属性——原型属性(prototype),这个属性是一个指针,指向一个对象,这…

prototype和__proto__ 2018年7月15日
;

看图之前我们首先来了解几个对象原型的基本知识: 例子: function Fn() {}// Fn为构造函数 var f1 = new Fn();//f1是Fn构造函数创建出来的对象 构造函数的prototype属性值就是对象原型。(Fn.prototype就是对象的原型) 构造函数的prototype属性值的类型就是对象 typeof Fn.prototype===object. 对象原型中的constructor属性指向构造函数 (Fn.prototype.constructor===Fn) 对象的__proto__属性值就是对象的原型。(f1.__proto__就是对象原型) Fn.prototype===f1.__proto__ 其实它们两个就是同一个对象—对象的原型。 所有Fn.prototype.__proto__===Object.prototype typeof Object.prototype ===object。 Object.prototype.__proto__===null。 我讨论原型就是指的对象与原型对象之间的关系。所以原型链也称之为对象链。 有了以上的基础知识,下面的原型链图你就可以看明白了。 所以对象f1的原型链:f1.__proto__—->Fn.prototype.__proto_…

一张图瞬间让你明白原型链结构 2018年7月12日
;

报错原因:抓取页面大小超过了600000 解决办法:文件头部找到MAX_FILE_SIZE修改即可 define(‘MAX_FILE_SIZE’, 6000000); 相关资料:https://github.com/samacs/simple_html_dom/blob/master/example/example_basic_selector.php 官方文档:http://simplehtmldom.sourceforge.net/

simple html dom 报错’Fatal error: Call to a member function find() on boolean in ‘的处理 2018年6月19日