分类 Nodejs 下的文章

GYP

GYP是一种构建自动化工具。 GYP由Google创建,用于生成用于构建Chromium Web浏览器的本机IDE项目文件,并使用BSD软件许可证作为开源软件获得许可。 GYP的功能类似于CMake构建工具。 GYP处理包含JSON字典的文件,以生成一个或多个目标项目make文件。
操作系统: macOS, Linux, Solaris, FreeBSD, OpenBSD, Windows
编写时间: Python
许可协议: BSD license
原著者: Mark Mentovai
长久以来 linux 的二进制分发一直是巨坑,npm 为了方便干脆就直接源码分发,用户装的时候再现场编译。
Google使用过很多处理平台无关的项目构建系统,比如Scons,CMake。在实际使用中这些并不能满足需求。开发复杂的应用程序时,在Mac上Xcode更加适合,而Windows上Visual Studio更是无二之选。gyp是为Chromium项目创建的项目生成工具,生成项目文件后就可以调用GCC, vsbuild, xcode等编译平台来编译。从平台无关的配置生成平台相关的Visual Studio、Xcode、Makefile的项目文件。这样一来我们就不需要花额外的时间处理每个平台不同的项目配置以及项目之间的依赖关系。

node下的gyp

至于为什么要有node-gyp,是由于node程序中需要调用一些其他语言编写的工具甚至是dll,需要先编译一下,否则就会有跨平台的问题,例如在windows上运行的软件copy到mac上就不能用了,但是如果源码支持,编译一下,在mac上还是可以用的。node-gyp在较新的Node版本中都是自带的(平台相关),用来编译原生C++模块。



title: Express
date: 2016-08-17 11:05:24
tags: express
category: Express

id: 5

nodejs + express 学习记录
设置入口文件
app.use(express.static(__dirname + '/public'));
###use方法
use是express注册中间件的方法,它返回一个函数。
中间件(middleware)就是处理HTTP请求的函数。它最大的特点就是,一个中间件处理完,再传递给下一个中间件。App实例在运行过程中,会调用一系列的中间件。

set方法用于指定变量的值。

app.set("views", __dirname + "/views")
为系统变量views指定值
app.set("view engine", "jade")

  1. 全局安装gitbook :npm install -g gitbook
  2. 下载calibre安装应用
  3. 将calibre中的执行文件ebook-convert链接到shall环境:$ sudo ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin
  4. 验证ebook-convert可用,terminal下输入ebook-convert 后回车
  5. 如果可用,导出epub文件 gitbook epub ./ ./mbook.epub

node: gitbook 项目需要先 npm install 配置好依赖库,再生成 epub 书籍
Gitbook使用方法 http://www.chengweiyang.cn/gitbook/basic-usage/README.html

scripts是npm的脚本编辑的地方,不是node的
所以在package.json中scripts的命令行使用方式是这样的,如下
npm run start

  "scripts": {
    "start": "node ./bin/www"
  },

详细使用方法请参考http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html

mac下nvm 使用记录
断开连接 brew unlink nvm
安装 brew install nvm
环境变量 add to ~/.bash_profile
export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"
配置国内镜像源 export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist
配置npm镜像源
创建 ~/.npmrc 写入registry=https://registry.npm.taobao.org
更新环境变量 . ~/.bash_profile
查看可安装的nodejs版本 nvm ls-remote
安装node nvm install
删除版本 nvm uninstall v6
查看 nvm ls
切换nvm use //只针对当前shall
设置默认 nvm alias default v7
可以通过 nvm ls-remote 查看有哪些 node 版本。