自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 node.js获取微信二维码并保存到服务器

const body = {path: 'pages/index',} const opts = { url: `https://api.weixin.qq.com/wxa/getwxacode?access_token=${accessToken}`, body: JSON.stringify(body), method: 'POST' }; con...

2018-10-31 18:52:49 917

原创 Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight respon

今天在写一个项目的时候出现了一个很莫名其妙的问题,除了post请求其他的请求都可以调通,在使用post的时候,总是报以下错误。因为在请求的header中出现以下问题:后端是我用php撸的部署在nginx上, 错误原因应该是php中post请求的cors机制。。解决方法如下:第一种: 在php代码中加上Yii::$app->getResponse()->headers->set(‘Access-C

2017-12-07 10:21:55 38582 2

原创 JS实现冒泡排序

// 冒泡排序// 解析:// 1.比较相邻的两个元素,如果前一个比后一个大,则交换位置。// 2.第一轮的时候最后一个元素应该是最大的一个。// 3.按照步骤一的方法进行相邻两个元素的比较,这个时候由于最后一个元素已经是最大的了,所以最后一个元素不用比较。//平均时间复杂度 O(n²);//最好情况 O(n);//最坏情况 O(n²);//空间复杂度 O(1);//排序方式:in

2017-08-29 10:21:33 426

原创 vuex的基本用法和mapaction传值问题

vuex的理论知识就不多提了,官网上已经有明确的讲解。用一个简单的例子来描述一下基本的用法: 第一步:npm install vuex –save-dev 第二步:在目录中创建store目录配置管理状态//store/index.js/** * Created by zhaohuan on 2017/7/13. */import Vue from 'vue'import Vuex fr

2017-07-13 14:58:33 11964 2

转载 常用的sql语句

删除数据库中表的某些相同的某些记录 OR 查找数据库的表中的相同记录一、删除数据库中表的某些相同的某些记录delete from tablename where only_Id not in(select min(only_id) from tablename group by sameName)二、选出相同记录的SQL语句 AND 删除相同记录的SQL语句删除相同记录的SQL语句

2017-07-07 14:43:41 773

原创 Vue中render方法的使用

先说一下对官网上demo的个人理解:<!DOCTYPE html><html><head> <title>Vue的render方法说明</title> <script src="vue.js"></script></head><body><div id="app"> <child :level="1"> hello world </child>

2017-07-05 17:23:27 18778

原创 PHP中对public,static,private,protected的理解

private protected public本类内 true true true子类内 false true true类外部 false false truestatic:定义静态属性和方法 通过self::method或者self::var进行调用,在子类中通过parent::

2017-07-05 11:28:30 2434 1

原创 解决could not create leading directories of '/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask':

解决方法: 增加权限

2017-06-27 15:34:22 17090

原创 node+vue实现用户注册--头像上传

数据库我使用的是mongodb。 首先做文件上传,要保证协议里面的’Content-Type’为’multipart/form-data’。注册的步骤:将用户名密码,图片等提交给node端node端将图片保存到服务器,图片路径及这册用户的个人信息保存到mongodb数据库。项目目录如下,注册功能只是其中的第一步:前端框架使用的是vue.js,ajax使用的是vue的组件vue-resourc

2017-06-23 13:58:26 6484

原创 let和const命令

var/let/const的区别:var: - 存在变量提升。 - 声明的全局变量可在任何地方修改值。 - let(有点类似于函数作用域): - 不存在变量提升。 - 称霸块级作用域。 - 只能在块级作用域中使用。 - 不能在同一作用域中(函数作用域和块级作用域)用let声明相同的变量const: - 不存在变量提升。 - 定义一个常量。 - 作用域和l

2017-06-05 16:34:51 1234

原创 vue-cli的webpack模板项目配置文件的理解

webpack配置目录中的各个文件的每一行代码的意思会持续整理并更新,希望大家共同学习并指出我理解错误的地方。webpack.base.conf.jsvar path = require('path');var utils = require('./utils');var config = require('../config');var vueLoaderConfig = require

2017-06-01 22:26:44 1218

原创 mongoose的基本用法

这里仅记录一下mongoose的基本用法,个人觉得以下这篇文章讲解的还算挺仔细的: http://cnodejs.org/topic/504b4924e2b84515770103dd使用mongoose的步骤:1.先安装mongoose模块npm install mongoose -save 2.连接数据库const moogoose=require('mongoose');moogoose.

2017-05-30 21:06:00 978

原创 mac下载配置mongodb数据库

1.使用brew下载mongodbbrew install mongodbbrew的安装:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"将以上命令粘贴到终端brew官网:https://brew.sh/index_zh-cn.html2.新建(data

2017-05-30 17:18:14 2677

原创 node.js中使用mongodb

对于一个并没有接触过服务端的前端狗来说,实在是无力吐槽。继学习了mysql之后。发现在github上很过开源的项目使用的数据库都是mongoDb,所以今天就学习了一下通过node来操作mongodb。说实话用node来写数据库的增删改查还是挺简单的(因为都是在自己撸,可能学习的比较浅)。首先先记录一下安装mongoDb这个百度上搜索mongoDB有一大把的教程,简单记录一下怕长时间不用本人忘了,方便

2017-05-26 15:00:49 750

原创 AMD-require.js的用法

为什么要使用require.JS?<script src="sript1.js"></script><script src="sript2.js"></script><script src="sript3.js"></script><script src="sript4.js"></script><script src="sript5.js"></script>如果一个页面需要引入

2017-05-19 14:35:10 659

转载 解决ssh-connect-to-host-github-com-port-22-connection-timed-out

PC:~$ ssh [email protected] ssh: connect to host github.com port 22: Connection timed out解决办法:(linux下)~$ cd ~~$ cd .ssh/~$ touch config在.ssh目录下创建一个config文件,输入如下内容:Host github.com User [email protected] (你注册

2017-05-19 13:48:28 2880

原创 Javascript模块化编程

背景: 因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。 但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!考虑到Javascript模块现在还没有官方规范,这一点就更重要了。commonJS有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载。   var

2017-05-19 10:41:47 278

原创 第三章 Dom操作

浏览器中的Dom文档对象模型Dom是独立于语言的,用以操作XML和HTML文档的程序接口(API)。在浏览器中的接口通常是以javascript操作的,因此大多数的脚本都在与DOM打交道。Dom和javascript两个接口是独立存在的。因此如果通过功能接口连接,就会产生较大的性能损害,连接的次数越多,对性能的损害就越大。Dom的修改和访问 访问一次Dom,就会产生一定性能上的损失,修改Dom在性

2017-05-18 18:59:11 773

原创 websocket+d3.JS实现图标实时更新

服务端代码://var connection=require('./config.js').connection;////connection.connect();////console.log('数据库连接成功');var websocket=require('ws').Server;var ws=new websocket({port:'8118'});var dataset={

2017-05-17 17:50:31 1783

原创 WebSocket学习笔记

什么是websocket?websocket最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。其他特点包括: (1)建立在 TCP 协议之上,服务器端的实现比较容易。 (2)与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服

2017-05-17 17:32:39 354

原创 第五章 队列

什么是队列?队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列和栈的区别栈:后进先出,只允许在栈顶进行插入和删除。 队列:先进先出,在队尾进行插入,在对头进行删除。javascript,一个用数组实现的队列 function Que

2017-05-16 16:08:02 231

原创 v-for与组件的结合使用

这个例子是vue官网上面一个较为基础的例子,由于刚刚接触vue。所以将例子中一些不懂的语法记录下来。1. 在vue组件开发过程中is的用法:一般在vue定义组件时,都会使用一些自定义的标签。is的含义就是将原生的html标签当做定义的组件使用。2. props的用法: 组件实例的作用域是独立的。这意味子组件的模板内不能直接引用父组件的数据。可以使用 props 把数据传给子组件。“prop” 是组

2017-05-16 11:32:53 7145

原创 express框架中cookie的使用

cookie的工作原理http是一种无状态协议,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。那个时候没有动态页面技术,只有纯粹的静态HTML页面,因此根本不需要协议能保持状态;cookie是在RFC2109(已废弃,被RFC2965取代)里初次被描述的,每个客户端最多保持三百个cookie,每个域名下最多20个Cookie(实际上一般浏览器现在都比这个多,如Firefox是50

2017-05-15 17:36:28 5466

原创 第四章 栈

列表:以表格为容器,装载着文字和图表的一种形式叫做列表。 数据结构中列表一般是指线性列表,是一种数据项构成的有序序列,即按照一定的线性顺序,排列而成的数据集合,一般操作有:插入,查找和删除。栈:栈是和列表一样的数据结构,栈是一种高效的数据结构,因为数据只能在栈顶删除或者添加,所以这样操作很快。 栈是一种特殊的列表,栈内的元素只能通过列表一端访问,这一段成为栈顶。栈被称作一种后入先出的数据结构。对

2017-05-15 14:24:03 269

原创 VUE多层路由嵌套

例如:在做系统时,主页面有两个功能【home】and【news】,在【home】下又分为登录和注册。首先需要将各种模板进行抽离。定义模板<template id="home"> //home模板,里面含子视口 <div> <router-link to="/home/login">登录</router-link> <router-link to="/home

2017-05-15 11:26:07 5553

原创 vue父子组件嵌套的时候遇到 - Component template should contain exactly one root element. If you are using v-i

今天在学习vue组件的嵌套时页面报错。大概的意思是:组件模板应该包含一个根元素。错误代码: var childComponent = Vue.extend({ template: '<div>this is child template</div>' }); Vue.component("parent",{ template: '<div>this i

2017-05-14 23:26:20 21999 3

原创 node+express+mysql实现数据库的增删改查

在node环境下实现mysql,首先需要将mysql下载到本地。 cnpm install mysql2.连接数据库configuration.jsvar mysql=require('mysql');var connection=mysql.createConnection({ host:'localhost', //主机的IP地址 user:'root', //mysql

2017-05-12 14:12:26 2084

原创 理解express中间件bodyparser

在学习express+mysql过程中,用到了post请求。在请求体中找不到data过来的数据,翻阅资料,需要使用bodyparser中间件。果然使用过后请求体中出现了数据。但是对于以前没有接触过后端的我,并不懂其中的道理。首先,bodyparser的作用是,解析http请求体。解析成功后覆盖原来的req.body,如果解析失败则为 {} 。express在3.0版本中自带有很多中间件,但是在exp

2017-05-12 10:36:30 1132

原创 简单的mysql语句

//查询 SELECT * from job; SELECT age from job; select * from job where age=’20’; select * from job where age=’20’ or id=’2’;//新增 INSERT INTO job (age,job,id) VALUES (30,’阿里巴巴’,’3’);//删除 DELETE from

2017-05-11 16:39:20 220

原创 第二章 数据访问

第二章 数据访问数据存储的位置关系到代码运行时,被检索的速度。1. JavaScript中的数据存储 1. 直接量: 代表自身,不存储在任何位置。字符串,数字,布尔值,数组,对象,undifined,null等等。 2. 变量:使用var来存储的数据值。 3. 数组项:具有数字索引,存储javascript数组对象。 4. 对象成员:具有字符串索引,存储javascript对象。访问

2017-05-10 16:52:20 234

原创 初始化一个express项目

首先npm install express安装express框架创建myapp文件夹 makdir myapp 进入文件夹 cd myapp 初始化 npm init entry point:(index.js) //入口默认index.jsvar express=require('express');var app=express();app.get('/',function(re

2017-05-09 19:14:01 1157

原创 安装并使用supervisor

在使用node.js进行开发时,每次修改完代码后都需要重新启动服务。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚本。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因 为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。supervisor 可以帮助你实现这个功能,

2017-05-09 18:55:16 622

原创 第一章 加载和执行

第一章 加载和执行大多数浏览器是使用单进程来处理UI和javascript,因此无法并行下载,当浏览器读取到javascript时会先下载javascript在进行页面的渲染,javascript读取的时间有多长,页面停止渲染的时间就有多长。因为在javascript中有可能会进行DOM操作。为了保证浏览器能呈现出准确的界面,所以会先下载javascript。1.脚本的位置<!DOCTYPE htm

2017-05-09 14:20:03 327

原创 一级域名,二级域名,父域名,子域名之间的联系

每次看到http协议啊,域名什么的之类的都会去搜索文章。但是看完又记得不牢靠,白费时间,索性这一次好好地理解明白。将自己的理解记录下来。

2017-05-08 17:37:42 11795 2

原创 理解angular中$rootscope和$scope

不难理解,rootscope类似于js中的全局变量、rootscope类似于js中的全局变量、scope类似于局部变量 var a=1; function fn(a) { a=3; //a是函数的参数 } fn(2); console.log(a);//1var tt = 'aa'; function test(){ alert(tt); //

2017-05-05 11:17:24 6191 1

原创 angular动态删除ng-repaeat添加的dom节点

在实际练习中通过点击删除按钮删除数据库信息以及当前航html代码如下:<div class="row"> <div class="col-xs-12"> <!-- PAGE CONTENT BEGINS --> <div class="row"> <div class="col-xs-12"> <tabl

2017-05-04 17:41:23 1185

原创 初学Angular+webpack+bootstrap

首先需要npm install url-loader file-loader css-loader style-loaderscript.js代码如下:require('./js/angular.js');require('./js/angular-router.js');require('bootstrap');require('font-awesome');var scotchApp =

2017-04-27 18:00:53 2005

原创 node.js path总结

node.js-path模块NodeJS中的Path对象,用于处理目录的对象,提高开发效率。 用NodeJS的Path命令,与使用Linux下的shell脚本命令相似。在学习node的时候总是碰到一些关于path的api,今天系统的的翻开了api,进行总结归纳。 引入path对象: var path=require('path');1. path.basename(path[, ext]) /

2017-04-24 17:12:50 662

原创 node.js搭建代理服务器实现跨域

node.js搭建代理服务器实现跨域前后端分离,本地前端开发调用接口会有跨域问题,一般有以下3种解决方法:后端接口打包到本地运行(缺点:每次后端更新都要去测试服下一个更新包,还要在本地搭建java运行环境,麻烦)CORS跨域:后端接口在返回的时候,在header中加入’Access-Control-Allow-origin’:* 之类的。用nodejs搭建本地http服务器,并且判断访问接口U

2017-04-24 12:39:07 4937

原创 webpack学习笔记(代码分割,按需加载)

为什么需要代码分割和按需加载代码分割就是我们根据实际业务需求将代码进行分割,然后在合适的时候在将其加载进入文档中。 举个简单的例子: 1.一个HTML中存在一个按钮 2.点击按钮出现一个包着图片的div 3.点击关闭按钮图片消失Demo目录: 一.当未点击按钮时浏览器只加载了对入口文件打包后的JS 二.点击按钮会对组件进行异步加载 这个clichunk就是我们打包好的click组件

2017-03-31 18:47:30 21309 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除