NodeJS

HTML5树组件延迟加载技术实现

末鹿安然 提交于 2019-12-05 01:53:43
HT for Web 的 HTML5树组件 有延迟加载的功能,这个功能对于那些需要从服务器读取具有层级依赖关系数据时非常有用,需要获取数据的时候再向服务器发起请求,这样可减轻服务器压力,同时也减少了浏览器的等待时间,让页面的加载更加流畅,增强用户体验。 http://www.hightopo.com/guide/readme.html 进入正题,今天用来做演示的Demo是,客户端请求服务器读取系统文件目录结构,通过 HT for Web 的 HTML5树组件 显示系统文件目录结构。 首先,我们先来设计下服务器,这次Demo的服务器采用 Node.js ,用到了Node.js的 express 、 socket.io 、fs和http这四个模块, Node.js 的相关知识,我在这里就不阐述了,网上的教材一堆,这里推荐下 socket.io 的相关入门 http://socket.io/get-started/chat/ 。 服务端代码代码: var fs = require('fs'), express = require('express'), app = express(), server = require('http').createServer(app), io = require('socket.io')(server), root = ‘/Users/admin

关于cordova/nodejs/npm的坑

陌路散爱 提交于 2019-12-04 22:49:31
这段时间负责公司的app的开发。其中遇到的坑,跟大家分享一下。 1、nodejs/npm坑。如果你安装或升级 nodejs/npm 到 5.0.0 以上的版本,恭喜你,你可能被坑了。我测试发现,在苹果、win7上,使用这个版本的 npm 都不正常,或者是插件无法正常安装,或者是项目无法正常发布、编译等。把这个版本卸载后,安装 4.2.2 的版本,一切都太平了。 2、安卓平台的安装/升级的坑。由于需要获取 GPS 位置,所以需要集成 cordova-plugin-geolocation 插件。但这个插件需要cordova-android 5.0.0-dev 以上的版本。如果通过 cordova platform update android 是升级不成功的,要升级用命令: cordova platform update android@5.0.0 通过 cordova platform add android 时,安装的还是 4.0.x 的版本。这时可以通过以下命令添加: cordova platform add android@5.0.0 3、cordova 版本太低(5.0.0)的时候,执行 cordova platform add android@5.2.2 这时报错: Adding android project... module.js:340 throw err; ^

Nodejs sublime text 3配置

柔情痞子 提交于 2019-12-04 21:02:45
1) 下载sublime并安装,下载列表: http://www.sublimetext.com/2 2) 下载sublime的nodejs插件,需是集成Nodejs插件到sublime中,下载地址: https://github.com/tanepiper/SublimeText-Nodejs 3) 解压zip文件, 并重命名文件夹“Nodejs” 4) 打开sublime,操作"preference" --> "Browse packages", 打开一个目录,这个目录是众多语言IDE插件的存放地。 5) 复制”Nodejs“文件夹到这个目录。 这样就可以了吗? 酱样子还不行,还要更改配置文件。 6) 打开Nodejs文件夹,找到文件“Nodejs.sublime-build”, 拖拽到sublime,显示: { "cmd": ["node", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.js", "shell":true, "encoding": "cp1252", "windows": { "cmd": ["taskkill /F /IM node.exe & node", "$file"] }, "linux": { "cmd": ["killall

npm使用过程中的一些错误解决办法及npm常用命令

血红的双手。 提交于 2019-12-04 20:03:55
npm使用过程中的一些错误解决办法及npm常用命令  node,npm在前端开发流程中提供了非常完善的自动化工具链,但是同样由于其复杂性导致有很多奇奇怪怪的问题。本文将记录使用过程中出现的一些问题及其解决方法备案。 国内由于gfw问题,导致很多国外的网站不能访问,比如bitbucket就是一个host代码的很优秀平台,但是由于该平台可能被block住,从而导致npm安装时出现奇奇怪怪的问题。有以下方法解决: 1.使用一个proxy来代理访问,但是这个方法速度可能比较慢; 2.可以通过修改npm的配置文件让npm到另外的pacakge mirror站点去找package,通过如下命令 $ npm config set registry https://registry.npm.taobao.org $ npm config set registry http://r.cnpmjs.org 或者: npm config set registry http://registry.npmjs.eu 随后再执行 npm install 或者直接在命令行中指定某些参数,比如phantomjs是一个无图形界面的浏览器,在自动化测试中应用广泛,可能的安装方式: npm install phantomjs --phantomjs_cdnurl=http://cnpmjs.org/downloads

node.js 中的npm模块版本管理

时间秒杀一切 提交于 2019-12-04 08:56:21
semver npm 中的模块版本都需要遵循 semver 2.0 的语义化版本规则。 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正。 先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 然后基于语义化的版本,我们在选择版本的时候就可以对依赖进行版本的控制: dependencies: { "express" : "3.x" , "debug" : "*" , "express-session" : "~1.0.0" , "connect-redis" : "1.2.3" } 从例子中可以看到,有许多种选择版本范围的风格,可以在 semver in npm 上看到每一个不同风格的作用。 而在 node.js 的模块管理中,最常用到的几种是: *: 任意版本 1.1.0: 指定版本 ~1.1.0: >=1.1.0 && < 1.2.0 ^1.1.0: >=1.1.0 && < 2.0.0 其中 ~ 和 ^ 两个前缀让人比较迷惑,简单的来说: ~ 前缀表示,安装大于指定的这个版本,并且匹配到 x.y.z 中 z 最新的版本。 ^ 前缀在 ^0.y.z 时的表现和 ~0.y.z 是一样的,然而 ^1.y.z 的时候,就会

ubuntu linux 12.04 下nodejs开发环境的配置

风格不统一 提交于 2019-12-04 04:03:47
废话不说,步入正题 环境: ubuntu 12.04 64位 为了不受权限问题影响,我选择的是直接使用root帐号 下载 nodeJS >> wget http://nodejs.org/dist/v0.10.26/node-v0.10.24.tar.gz 于是你可以在你的当前目录下找到 node-v0.10.24.tar.gz 这个文件 解压: >> tar -zxvf node-v0.10.24.tar.gz 进入解压后的目录: >> cd node-v0.10.24 >> ./configure >> make >> make install 如果没有出现错误,那么便可以在命令行中查看到版本了 >> node --version 显示 v0.10.26 至此,nodeJS安装完毕,你就可以开发了 当然,作为程序员,我们不能容忍的是所有的细节都需要我们编写代码,而不去使用那些已经存在的功能代码,为了快速开发一个网站,我们必然要选择一些开发工具,在这里我推荐 Express 好吧,我们来安装吧 >> npm install -g express (npm在0.6版本之后已经自带 -g 表示设为全局变量 ) >> npm install -g express-generator 没有错误提示的话,你就可以查看它的版本了 >> express -V

在Ubuntu和CentOS上搭建NodeJs的执行环境步骤

旧街凉风 提交于 2019-12-04 01:52:45
Ubuntu 上安装 Node.js Node.js 源码安装 以下部分我们将介绍在Ubuntu Linux下安装 Node.js 。 其他的Linux系统,如Centos等类似如下安装步骤。 在 Github 上获取 Node.js 源码: $ sudo git clone https://github.com/nodejs/node.git Cloning into 'node'... 修改目录权限: $ sudo chmod -R 755 node 使用 ./configure 创建编译文件,并按照: $ cd node $ sudo ./configure $ sudo make $ sudo make install 查看 node 版本: $ node --version v0.10.25 Ubuntu apt-get命令安装 命令格式如下: sudo apt-get install nodejs sudo apt-get install npm CentOS 下安装 Node.js 1、下载源码,你需要在 https://nodejs.org/en/download/ 下载最新的Nodejs版本,本文以v0.10.24为例: cd /usr/local/src/ wget http://nodejs.org/dist/v0.10.24/node-v0.10.24

Js资源增量更新--seajs本地存储增量更新插件(storeinc)使用

时间秒杀一切 提交于 2019-12-04 01:08:06
<p>             Js资源增量更新--seajs本地存储增量更新插件(storeinc)使用</p> <p>storeinc 是一个用来实现js代码本地存储化,并可以在js版本更新的时候,对js内容做增量更新的seajs插件。对于一个js文件来说,当js版本没有更新的时候,storeinc会从本地存储(localstorage)里读取js并解释执行,而当需要修改js内容时,storeinc则会只拉取新更新的js内容跟本地内容合并成新的js内容,更新的内容通过使用与storeinc配套的构建工具spm-storeinc-build来离线生成。另外storeinc还提供了一个java servlet来实现实时生成增量更新内容,如果使用了这个servlet则无需使用spm-storeinc-build来构建,只需要按这个servlet配置即可。</p> <p>Storeinc的增量更新的原理跟rsync有点像,算是一个rsync的js版了,不同的是rsync的增量更新单位用二进制来计算,storeinc则是字符为单位,具体的实现原理请看:<a href="https://github.com/luyongfugx/hcliuLoad/blob/master/hcliuLoad.ppt">https://github.com/luyongfugx/hcliuLoad/blob

HT for Web的HTML5树组件延迟加载技术实现

做~自己de王妃 提交于 2019-12-04 00:19:29
HT for Web 的 HTML5树组件 有延迟加载的功能,这个功能对于那些需要从服务器读取具有层级依赖关系数据时非常有用,需要获取数据的时候再向服务器发起请求,这样可减轻服务器压力,同时也减少了浏览器的等待时间,让页面的加载更加流畅,增强用户体验。 进入正题,今天用来做演示的Demo是,客户端请求服务器读取系统文件目录结构,通过 HT for Web 的 HTML5树组件 显示系统文件目录结构。 首先,我们先来设计下服务器,这次Demo的服务器采用 Node.js ,用到了Node.js的 express 、 socket.io 、fs和http这四个模块, Node.js 的相关知识,我在这里就不阐述了,网上的教材一堆,这里推荐下 socket.io 的相关入门 http://socket.io/get-started/chat/ 。 服务端代码代码: var fs = require('fs'), express = require('express'), app = express(), server = require('http').createServer(app), io = require('socket.io')(server), root = ‘/Users/admin/Projects/ht-for-web/guide‘; io.on(

golang vs dlang vs nodejs vs php 性能对比较量

本秂侑毒 提交于 2019-12-03 18:35:52
这是我本机开的一个单核1G内存的Hyper-V虚拟机,首先我们使用的语言和框架版本给大家看一下: root@kerisy:/home/zoujiaqing# go version go version go1.5.1 linux/amd64 root@kerisy:/home/zoujiaqing# ldc2 --version LDC - the LLVM D compiler (0.15.0): based on DMD v2.066.1 and LLVM 3.5.0 Default target: x86_64-pc-linux-gnu Host CPU: core-avx2 http://dlang.org - http://wiki.dlang.org/LDC Registered Targets: aarch64 - AArch64 (little endian) aarch64_be - AArch64 (big endian) arm - ARM arm64 - AArch64 (little endian) arm64_be - AArch64 (big endian) armeb - ARM (big endian) cpp - C++ backend hexagon - Hexagon mips - Mips mips64 - Mips64