抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

使用

在用IDE开发的时候,验证php代码的错误和标准格式化.

这是遇到了几个插件.在用VSCode的时候安装了 php-cs-fixer
composer global require friendsofphp/php-cs-fixer
这个配置很简单只要用 composer 安装 php-cs-fixer 然后配置 php.exe 的位置就可以使用了

在使用 sublime 的时候 安装了 phpcsphpmd
安装也是用 composer
composer global require "squizlabs/php_codesniffer=*"

这个配置(php code sniffer)就繁琐点了 配置如下

npm 自身升级1npm -g install npm node.js 自身升级123456789# node有一个模块叫n(这名字可够短的。。。),是专门用来管理node.js的版本的。# 首先安装n模块:npm install -g n #升级node.js到最新稳定版n stable# n 后面也可以跟随版本号比如: n v0.10.26 有一次升级遇到问题,根本无法通过上面方...

大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方。可能大家对console.log会有一定的了解,心里难免会想调试的时候用alert不就行了,干嘛还要用console.log这么一长串的字符串来替代alert输出信息呢,下面我就介绍一些调试的入门技巧,让你爱上console.log

先的简单介绍一下chrome的控制台,打开chrome浏览器,按f12就可以轻松的打开控制台
This is a picture without description

let 和 var 是一样的用于定义,最主要的是 let 是javascript 严格模式. 主要区别如下: 作用范围不一样, var是全局的, let是局部的. 而且使用严格模式,文件开头一定要声明 ‘use strict’; 否则会报错. 还有必须先声明再使用. 在同一作用域,重复声明会报错. 参考文档深入浅出ES6(十四):let和const在JavaScript ES6中使用le...

简介这个插件用到的是 Fractal,并把它与 laravel 结合.使 larvel 响应请求时有美化的格式,不用每个都去手动改写.例如,数据库里的表名往往是简称或英文.但是你返回给程序时,最好直接就能用,而不用再一次进行操作,并且可以添加没有记录在数据库里的数据. 例子123456789101112131415161718192021222324252627282930313233343...

最近一直在高前端,所以难免会在Github上用别人的工具.但是现在好多高前端都用一些高大上的东西,node什么的还好说,前段用gulp,最近又开始流行webpace,真是时代潮流不好追啊.而且有些人文档写的很简略,再加上中国的网络情况,有时你弄下来却是各种的不好使.真是头疼.这里总结下别人的东西怎么用. 先 npm install 把依赖都安装好 最好先用npm install 如果有装不...

Element 用到了 vue-markdown-loader 使 md 文件生成网页. 但是他在 webpace 启动时 把生成的网页缓存到了. vue-markdown-loader 目录下的 .cache 目录里. 但如果是windows系统的话.有可能因为权限问题无法创建 .开头文件造成错误. 所以 自己建立一个就好了

sync-settings简介

sync-settings是一款备份插件,可以备份ATOM的全局设置、插件、按键绑定(keymaps)、界面样式、代码片段(snippets )、 init script。这样不管走到那里使用的Atom都是自己最熟悉的那个,这样省去了很多麻烦.

箭头函数 这是es6新建的 就是匿名函数的简写,当然还有些区别没有细研究. 第一个参数是本身的形参 123456789101112131415config.map(nav => { if (nav.groups) { nav.groups.map(group => { group.list.map(page => ...

12345678910111213141516171819202122232425262728293031323334353637383940function bb(){ alert('bb');}var b = new bb();function cc(){ return 1;}var dd=function()...

Vue.js教程浅谈Vue.jsvue.js学习笔记1 – 搭建vue.js本地开发框架vuejs-learn

Gravatar Gravatar是Globally Recognized Avatar的缩写,是gravatar推出的一项服务,意为“全球通用头像”。如果在Gravatar的服务器上放置了你自己的头像,那么在任何支持Gravatar的blog或者留言本上留言时,只要提供你与这个头像关联的email地址,就能够显示出你的Gravatar头像来 使用未被墙的地址 目前一共收集到 7 个...

这套教材非常好 非常适合我.
Webpack傻瓜式指南(一)
Webpack傻瓜指南(二)开发和部署技巧
Webpack傻瓜指南(三)和React配合开发

不过有个小问题: 里面的方法不能加括号app.appendChild(sub()); 这个应当这么写 app.appendChild(sub); 这个错误原因可能是他手误了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//之前
//只需要 sub
//这个是CommonJS风格代码
function generateText(){
var element = document.createElement('h2');
element.innerHTML = "Hello hddddaa world";
return element;
}
module.exports = generateText();

--------------------------------------------------------------------
//后面
// 所以需要sub()
//这个是ES6风格代码
export default function() {
var element = document.createElement('h2');
element.innerHTML = "Hello h2 world hahaha";
return element;
}

这次安装是按照网上教程来的 不过好像有点老了 下次尝试新的 就是不用clone npm的git 因为看到现在下载的node.js里的node_modules里 就有了这个目录了 也许直接执行命令就好了 下载node.js安装 如果没有git的话下载git安装 或者直接下载git://github.com/isaacs/npm.git 压缩包也可以 git clone –recurs...

前言JSFiddle 是一个用于前端代码展示与分享的网站,可以在这里写代码并测试,同时写完后可以用连接分享在博客里展示给大家.在国内也有个类似网站 HCODE 简单讲解 原有的标签顺序狠不好,JS文件在前显示结果在后.所以要改一下,把结果放在前面. //jsfiddle.net/elick/s03Lk51x/embedded/result,js,html,css 其实很简单,embed...

Vue Start Kit: 一个国内搞的用 Vue+Bulma UI 开发的后台模版.不过我在本地测试时报错 已经没问题了,必须用cnpm 安装node-sass才可以.
Demo地址: http://vue-kit.gismall.com/
This is a picture without description

一些总结吧

  • 父组件和子组件之间通信用广播: vue可以用多种方法实现组件间沟通,比如用一个属性,
    不过这必须用上同步 :test.sync 要不然子组件的状态父组件不知道.
    但是这有个问题就是不利于解耦,捆绑太紧密了不能复用了,所以还是用广播.
    不过还是有个小小的疑问,如果两个同名事件怎么办呢?? 按文档里说是第一个,那可能是父组件加载子组件的顺序吧
    我想可能是这样的,如果存在同名的话,那就得手动调整顺序,我感觉最好不要同名.

  • v-bind:fields=”columns” 绑定解释: 有时用简写就比较懵,简单记忆下: 如果原有属性就是绑定属性到vue属性.如果不是自带属性,那就是组件自定义的.比如 :fields="columns" 这里就是一个. fields 子组件 : columns 父组件. 反正等号后面都是当前组件的.可以看下面例子.

Vue.js: 轻量级js 数据驱动的组件,为现代化的 Web 界面而生.这类js框架都是应用比较大型功能类网站,有点类似webapp.或者单页面程序,比如我现在用的听歌浏览器插件. 他的做法是把某个功能开发成个组件,这个组件包括了模版,css,js,然后打包在一起.通过很多组件的组合,到达一个功能类网站,这样就非常的灵活了.这个主要针对pc端. 参考文档官方网站对比其它框架Vue.js:...

前言

js的数组和php有些不同,他的定义方法,自定义下标只有一种方法 var arr['a'] = 1,不能像php一样 $arr = ['a'=>1],还有种没有下标的自定义方法 就是下面方法一那种方法

方法一:直接定义并且初始化,这种遇到数量少的情况可以用

1
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]

简单说明float原来一直以为float是平面的,浮动就是左右偏移在平面上运动,其实是错的,浮动是立体的,记得用火狐浏览器的debug工具,有一项就是能看到立体的样子.所以当设置浮动后,这个层的宽高就不在瘦父层级的限制了,因为他是立体的,他实际是飘在父层级上.所以需要清浮动才可以让他继续接受父层级的控制,这里就需要overflow:hidden overflow:hidden所以说 over...

前言最近看别人的框架遇到一些别人的写法,虽然很直白,但是以前没遇到过,还是有点懵.不知道这种写法是遵从那那些编写规则,反正记录一下已被后面查找. 简单说明123456789101112131415//其实这个很直白了 因为一般bool值 表示 ture 为 1 false 为 0!0 == true !!0 == false //但是 !0 === true 这是错的 恒等于 是不会转义类型...

前言

今天遇到个很bug的问题.在chrome里当窗口很小的时候,一个div就会偏移,但是当用鼠标调正窗口,又会变好.而且只有在chrome下有这个问题,最后确认原来是margin-top失效的原因.再次说明: 上面那个问题,并没有因使用overflow:hiden而解决.只是放在火狐里这个bug不存在了.后来是通过删除了子容器的 float:left 解决的.但到底是哪里冲突还是不明白.但下面这些方法解决一些浮动漂移是有用的.

问题的解决

正统说法:

1:“在CSS2.1中,水平的margin不会被折叠;垂直margin可能在一些盒模型中被折叠…”
2: 当第一个层浮动,而第二个没浮动层的margin会被压缩,详见–浮动元素后非浮动元素的margin的处理。

一 如果是两个容器并列,一般出现问题,是因为第一个容器加了浮动,第二个没有加 所以造成第二个margin出问题.解决办法是在第二个容器前增加一个<divstyle="clear:both;"></div>.像下面这样,或者给box2也增加float;

前言今天脑袋陷入了打结中,jquery改变样式.遇到一个什么情况,css是个元素样式,不是针对具体的某个类,并且后添加的样式,通过jquery无法找到,所以想改这个样式特别麻烦. 解决与思考 jquery只能选定出现在DOM上的元素来更改他的css样式.为什么这么说呢,css的写法是这样的,一般先是定义一个根类,然后在子类再去分别定义特殊属性.如果这样的话,jquery能选择操作子类的样式...

这里唯一要点是 substr() 是截取字符串,不过和php不同的是 第二个参数不能为负数,也就是不能倒着数.所以只能用字符串长度减去要减掉的长度,得到截取的位置 12var uri = 'F:\phpStudy\WWW\kod\static\js\lib\editormd\css';uri.substr(0,(uri.length-11))

结合一些第三方模块构建工具,如CommonJS、RequireJS或者SeaJs,可以轻松实现代码的模块化。 也就是说 这三个工具是组合各个组件的工具,最后打包成最后代码 CommonJS 规范: 是同步加载模块AMD 规范: AMD(异步模块定义)是为浏览器环境设计的,因为 CommonJS 模块系统是同步加载的,当前浏览器环境还没有准备好同步加载模块的条件。 前言 JavaSript...

前言 在修改kod时遇到这个,不太了解作用于是查了下资料,详细看这里 JS魔法堂:从void 0 === undefined说起 简单说下 在js函数里 return void 0 表示此函数无返回. 还有就是 undefined在JavaScript中并不属于保留字/关键字,因此在IE5.5~8中我们可以将其当作变量那样对其赋值(IE9+及其他现代浏览器中赋值给undefined将无...

前言 开发时突然遇到js语句里很多逗号,一下子搞蒙了.才想起来,没有仔细研究过这个东西. 简单说明 直白的说,没有return时,返回最左边结果,有return时返回最右边结果,当return最后一个参数为void 0,将只执行操作无返回 《javascript权威指南(6版)》说逗号运算符(,):先计算左边的操作数,然后计算右边的操作数,最后返回右操作数的值。比如 var a=(1+1...

前言

现在大部分前端开发,都用npm或者bower.因为这样不仅升级组件方便,而且兼容性也能得到保障.但是对于简单开发来说,过于庞大的组件也是比较麻烦的.所以这个Sea.js还是有一定存在价值的.

我也是在KodExplorer里发现这个插件的.没有太多使用,所以这里就点一下,以便以后记住.如果需要用就看官方吧,里面文档很详细的.

[TOC]

项目地址:

https://github.com/mailru/FileAPI


前言

原本打算是操作本地文件,如打开文件,新建文件,保存文件.但好像js是无法坐到这些的.
只能通过一些特别的手段达到一定的效果而已.
这个组件就是搜索时找到的,主要是通过上传时得到文件一些信息,他主要用作图片上传,
文件上传时获得相关内容.而且他还能操作摄像头用于头像.
并且他还有个jquery的插件,主要用处也是上传头像时的相关操作.

项目主页:https://pandao.github.io/editor.md/ 先简单说两点: 可以不借助php环境使用 因为主要基于js的 但是有些插件却是必须使用php环境,比如 emoji,preformatted-text 这两个, 一个是标签 一个html图形 目前来说他只能在线编辑,却不能保存和打开文件 这个我想加上

详细内容 请参考这篇文章Bower的简单使用教程 bower init 生成 bower.json 这个是项目安装的组件包bower --save XXX 这是本项目安装组件 并记录在bower.json bowerrc文件简单说明 directory:是值第三方依赖包下载所在的位置proxy:在很多公司,为了保护公司内网的安全性,是需要配置这个代理的。所以这里一般要配置公司的代理ti...

前面碎碎念真是不搞页面,不知道弄兼容如此的恶心.当然你一板一眼的写,能避免很多的麻烦,可是利用框架,插件来做,这是烦的要死了. 这次利用了 yoesman+gulp+bower 快速搭建了个项目 其中还用到swiper插件 这个插件 3代主要面对手机 可是有些新特性 2代还没有 真是麻烦 用了3代 兼容性就有麻烦了. 基本解决问题bower里有个很好的插件 bootstrap-ie8 bo...

这篇文章 只是简单介绍 几个框架的主要作用,并不涉及详细用法. npm 老大中的老大npm 不用多说什么 这是一切基础中的基础 yeoman 快速构建项目目录其实很多项目开发的时候,目录结构及需要的插件都有一定规律.所以yeoman是解放懒人的又一利器.他的主要作用就是,当你开始一个新项目时不用自己再手动各个目录和安装那些插件,一切都为你准备好,只要一个命令 yo找到你要开发项目,接下来只需...

##三种办法 1234567<script language="javascript"> document.images[i].ondragstart=function (){return false;}; e.preventDefault(); document.ondragstart=functi...

这里就写几个主要的,详细请看这篇文章:
http://www.iteye.com/news/27580
使用Emmet加速Web前端开发

  • 初始化

HTML文档需要包含一些固定的标签,比如、、等,现在你只需要1秒钟就可以输入这些标签。比如输入“!”或“html:5”,然后按Tab键:

  • 嵌套

现在你只需要1行代码就可以实现标签的嵌套。

1
2
3
>: 子元素符号,表示嵌套的元素
+:同级标签符号
^:可以使该符号前的标签提升一行
  • 分组

你可以通过嵌套和括号来快速生成一些代码块,比如输入(.foo>h1)+(.bar>h2),会自动生成如下代码

1
2
3
4
5
6
<div class="foo">
<h1></h1>
</div>
<div class="bar">
<h2></h2>
</div>
  • 快速添加类名、ID、文本和属性
  1. 使用E#ID添加ID名
  2. 使用E.class添加类名
  3. 使用E[attr]添加属性
  4. 使用E{text}添加文本

我的项目使用 yeoman 生成的目录 自带gulpfile.js 想引入bower里组件到html页面 不需要手动写 执行 gulp 任务 wiredep 就可以了 但后来我引用兼容插件时 没有使用 也自动写入文件了 难道是serve任务的功劳?? 这个尚不清楚,反正如果没引入 执行一下这个 wiredep任务就可以了 gulp+bower 使用必须用 wiredep 手动wiredep...

简单说下gulp使用流程

  • 首先进入 项目目录 npm install –save-dev gulp
  • 其次安装其他所需插件 配置文件里有 就不赘述了
  • 规划目录开始编写

项目地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
gulp #目录结构
├─.idea
│ └─libraries
├─app
│ └─assets # 随便找的测试例子
│ ├─css
│ │ └─font
│ ├─images
│ └─js
├─build # 第一个实例 输出目录
├─dist # 第二个实例 输出目录
├─js # 第一个实例 随便写的js
└─web # browser-syn 测试 随便写的scss
├─css
└─scss

Note:
因为gulp-sass需要node-sass的支持才能用,不过node-sass被墙住了,所以这里共享一个,不过版本是3.7的 如果升级了就自行更换吧
https://yunpan.cn/cPI3SEfajJeX9 访问密码 a6b0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{
"name": "studyangular",
"version": "0.0.0",
"dependencies": {},
"repository": {},
"devDependencies": {
"grunt": "^0.4.5",
"grunt-autoprefixer": "^2.0.0",
"grunt-concurrent": "^1.0.0",
"grunt-contrib-clean": "^0.6.0",
"grunt-contrib-compass": "^1.0.0",
"grunt-contrib-concat": "^0.5.0",
"grunt-contrib-connect": "^0.9.0",
"grunt-contrib-copy": "^0.7.0",
"grunt-contrib-cssmin": "^0.12.0",
"grunt-contrib-htmlmin": "^0.4.0",
"grunt-contrib-imagemin": "^0.9.2",
"grunt-contrib-jshint": "^0.11.0",
"grunt-contrib-uglify": "^0.7.0",
"grunt-contrib-watch": "^0.6.1",
"grunt-filerev": "^2.1.2",
"grunt-google-cdn": "^0.4.3",
"grunt-newer": "^1.1.0",
"grunt-ng-annotate": "^0.9.2",
"grunt-svgmin": "^2.0.0",
"grunt-usemin": "^3.0.0",
"grunt-wiredep": "^2.0.0",
"jshint-stylish": "^1.0.0",
"load-grunt-tasks": "^3.1.0",
"time-grunt": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"test": "grunt test"
}
}

Private
最喜欢这个字段 设置为true下面那些就全部用写了,开发时 或者 不想共享时 就用这个
可选字段,布尔值。如果private为true,npm会拒绝发布。这可以防止私有repositories不小心被发布出去。

npm search 搜索包

npm install 安装nodejs的依赖包

npm install -g 将包安装到全局环境中
但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

npm install –save 安装的同时,将信息写入package.json中

项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包
这样代码提交到github时,就不用提交node_modules这个文件夹了。

npm init 会引导你创建一个package.json文件,包括名称、版本、作者这些信息等

npm ls 列出当前安装的了所有包

npm ls -g 查看全局安装的模块及依赖