script javascript / Node.js / nodejs / GraphicsMagick / sails
s
Node.js
http://baike.baidu.com/view/3974030.htm
Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
[1] Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。
Nodejs 安装问题汇总
http://www.oschina.net/question/199491_38172
我在suse上编译安装nodejs 0.6.10,configure时提示:
Checking for openssl : not found
Checking for function SSL_library_init : not found
Checking for header openssl/crypto.h : not found
/usr/local/src/node-v0.6.10/wscript:374: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message.
但我已经安装过openssl,问题如下:
1)请问configure时怎样设置,才能找到openssl呢?
2)如果使用--without-ssl,编译时会出现zlib_dev找不到,又改如何处理呢?
解决方案:yum install gcc-c++ openssl-devel , ok
Linux下Nodejs安装(完整详细)
http://my.oschina.net/blogshi/blog/260953
很久之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录。
首先去官网下载代码,这里一定要注意安装分两种,一种是Source Code源码,一种是编译后的文件。我就是按照网上源码的安装方式去操作编译后的文件,结果坑了好久好久。
注意看好你下载的是什么文件!!!对应的安装方式不同啊,亲。
(一) 编译好的文件
简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了。
cd node-v0.10.28-linux-x64/bin ls ./node -v
这就妥妥的了,node文件夹具体放在哪,叫什么名字随你怎么定。然后设置全局:
ln -s /home/kun/mysofltware/node-v0.10.28-linux-x64/bin/node /usr/local/bin/node ln -s /home/kun/mysofltware/node-v0.10.28-linux-x64/bin/npm /usr/local/bin/npm
这里/home/kun/mysofltware/这个路径是你自己放的,你将node文件解压到哪里就是哪里。
(二)通过源码编译
这种方式你下载的文件是Source code,我不太喜欢这种方式。。。主要是麻烦
# tar xvf node-v0.10.28.tar.gz # cd node-v0.10.28 # ./configure # make # make install # cp /usr/local/bin/node /usr/sbin/ 查看当前安装的Node的版本 # node -v v0.10.28 编译软件 make 安装编译软件 make install 了解编译模块 make clean 卸载编译软件 make uninstall
(三)apt-get
还有一种就是shell提示的apt-get方式,我之前就被这种方式坑了。。。强烈不推荐啊
sudo apt-get install nodejs sudo apt-get install npm
这么装完你会发现,node命令好使,nodejs命令可以用。。。
end
Node.js 对图片进行裁切、缩放
GraphicsMagick
GM : GraphicsMagick for node.js
首先得安装 GraphicsMagick 或者 ImageMagick。
然后执行:
- $ sudo npm install gm
我安装的是ImageMagick,在ubuntu系统下快速安装:
- $ sudo apt-get install imagemagick
HOW TO USE
GM 文档:http://aheckmann.github.io/gm/docs.html
- var imageMagick = gm.subClass({ imageMagick: true });
- imageMagick("img.png").resize(300, 100).autoOrient().write('/path', callback);
Example (nodejs + Express)
- var gm = require('gm')
- , fs = require('fs')
- , imageMagick = gm.subClass({ imageMagick : true });
- exports.imgUpload = function(req, res) {
- res.header('Content-Type', 'text/plain');
- var path = req.files.img.path; //获取用户上传过来的文件的当前路径
- var sz = req.files.img.size;
- if (sz > 2*1024*1024) {
- fs.unlink(path, function() { //fs.unlink 删除用户上传的文件
- res.end('1');
- });
- } else if (req.files.img.type.split('/')[0] != 'image') {
- fs.unlink(path, function() {
- res.end('2');
- });
- } else {
- imageMagick(path)
- .resize(150, 150, '!') //加('!')强行把图片缩放成对应尺寸150*150!
- .autoOrient()
- .write('public/images/user/'+req.files.img.name, function(err){
- if (err) {
- console.log(err);
- res.end();
- }
- fs.unlink(path, function() {
- return res.end('3');
- });
- });
- }
- };
上面只是index.js文件的部分核心代码
sails
https://www.oschina.net/p/sailsjs
Sails.js 就像是 Node.js 平台上的 Rails 框架。这是一个可靠可伸缩的开发框架,面向服务的架构,提供数据驱动的 API 集合。用来开发多玩家游戏、聊天应用和实时面板引用非常方便,也可用于开发企业级 Node.js 应用。Sails.js 基于 Node.js, Connect, Express 和 Socket.io 构建。
Sails.js中文文档
http://sailsdoc.swift.ren/
http://www.cnblogs.com/simadi/p/5907144.html
Sails.js是一个Web框架,可以于轻松构建自定义,企业级Node.js Apps。它在设计上类似于像Ruby on Rails的MVC架构的框架,但支持更加现代化, 面向数据风格的Web应用开发。它特别适合于开发实时特性的应用如聊天。Sails.js 基于 Node.js, Connect, Express 和 Socket.io 构建。
【教程】利用Sails.js+MongoDB开发个人博客系统(5章更新完)
http://cnodejs.org/topic/55b1efff692e0e7706b366b5
Sails是构建于Express之上的一个实时Node MVC框架,其整个风格来源于Ruby on Rails,包括提供了类似于Rails的脚手架功能,同时又吸纳了不少现代web app工具和功能,比如grunt和websocket等。
显然,Sails的最佳应用场景会是一些实时性较强的场景,比如聊天室,游戏等,但是官方也笃定的认为sails适用于任何web app的开发。对于web之前我已经使用过了的php的symfony2和ruby的rails,但在学习了Nodejs之后,我需要一个node的框架进行项目实战,因此,我充满感性的因为那只小章鱼和官网健全的文档选择了sails,这一点都不机智。
end