[Nodejs 实战]准备Nodejs开发环境 + Express 3配置 + AngelJS配置
2015-01-11 14:02
477 查看
作者:disappearedgod
文章出处:http://blog.csdn.net/disappearedgod/article/details/42610465
时间:2015-1-11
MiB/s, done.处理 delta 中: 100% (101055/101055), done.Checking out files: 100% (10177/10177), done.
切换最新的release的版本v0.11.2-release
进行安装
安装完成,查看node版本
提示错误,没有找到node,查一下node安装位置
增加软链接:node和npm到/usr/bin
我们再查看node和npm版本
安装express
安装angular basic
安装angular-basic
部署
目录解释:
app目录: Angular项目的根目录
scripts目录: 存放Javascript脚本目录
scripts\angular目录: 存放Angular Javascript脚本目录
styles目录: 存放css的目录
views目录: 存放html的目录
views\component目录: 存放html的自定义组件目录
views\tpl目录: 存放html的目录
文件解释:
app\index.html: Angular项目的入口文件
styles\main.css: Angular项目的css文件
scripts\angular\app.js: Angular项目全局配置文件
scripts\angular\controllers.js: Angular项目全局控制器文件/li>
views\tpl\welcome.html: 欢迎页
安装bower
全局安装bower\
文章出处:http://blog.csdn.net/disappearedgod/article/details/42610465
时间:2015-1-11
前言
新手入门,学习了http://blog.fens.me/nodejs-bower-intro/,但是发现该博客是在win环境下搭建的,因为与linux有些许差别,所以写了这个博客,并且上述博客时间太久远,一些东西改变了(例如express 3 4 之间分离),所以对于实战来讲,本博客有其现实价值。正文
node安装<pre><code>~ sudo apt-get install git</code>~ git clone git://github.com/joyent/node.git正克隆到 'node'...remote: Counting objects: 135363, done.remote: Compressing objects: 100% (24/24), done.remote: Total 135363 (delta 1), reused 23 (delta 1)接收对象中: 100% (135363/135363), 112.62 MiB | 3.05
MiB/s, done.处理 delta 中: 100% (101055/101055), done.Checking out files: 100% (10177/10177), done.
xwh@xwh:~/BLOG_DIRECOTRY$ cd node xwh@xwh:~/BLOG_DIRECOTRY/node$ pwd /home/xwh/BLOG_DIRECOTRY/node
切换最新的release的版本v0.11.2-release
~ git checkout v0.11.2-release Branch v0.11.2-release set up to track remote branch v0.11.2-release from origin. Switched to a new branch 'v0.11.2-release'
进行安装
./configure make sudo make install
安装完成,查看node版本
~ node -v -bash: /usr/bin/node: No such file or directory
提示错误,没有找到node,查一下node安装位置
~ whereis node node: /usr/local/bin/node
增加软链接:node和npm到/usr/bin
~ sudo ln -s /usr/local/bin/node /usr/bin/node ~ sudo ln -s /usr/local/bin/npm /usr/bin/npm
我们再查看node和npm版本
~ node -v v0.11.2 ~ npm -v 1.2.21
安装express
sudo npm install express -gWarning
npm http GET https://registry.npmjs.org/express npm http 304 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/cookie-signature/1.0.5 npm http GET https://registry.npmjs.org/depd npm http GET https://registry.npmjs.org/debug npm http GET https://registry.npmjs.org/escape-html/1.0.1 npm http GET https://registry.npmjs.org/media-typer/0.3.0 npm http GET https://registry.npmjs.org/finalhandler/0.3.3 npm http GET https://registry.npmjs.org/fresh/0.2.4 npm http GET https://registry.npmjs.org/methods/1.1.1 npm http GET https://registry.npmjs.org/etag npm http GET https://registry.npmjs.org/on-finished npm http GET https://registry.npmjs.org/parseurl npm http GET https://registry.npmjs.org/path-to-regexp/0.1.3 npm http GET https://registry.npmjs.org/proxy-addr npm http GET https://registry.npmjs.org/qs/2.3.3 npm http GET https://registry.npmjs.org/range-parser npm http GET https://registry.npmjs.org/send/0.10.1 npm http GET https://registry.npmjs.org/serve-static npm http GET https://registry.npmjs.org/type-is npm http GET https://registry.npmjs.org/vary npm http GET https://registry.npmjs.org/cookie/0.1.2 npm http GET https://registry.npmjs.org/merge-descriptors/0.0.2 npm http GET https://registry.npmjs.org/utils-merge/1.0.0 npm http GET https://registry.npmjs.org/accepts npm http GET https://registry.npmjs.org/content-disposition/0.5.0 npm http 304 https://registry.npmjs.org/escape-html/1.0.1 npm http 304 https://registry.npmjs.org/debug npm http 304 https://registry.npmjs.org/depd npm http 304 https://registry.npmjs.org/cookie-signature/1.0.5 npm http 304 https://registry.npmjs.org/finalhandler/0.3.3 npm http 304 https://registry.npmjs.org/fresh/0.2.4 npm http 304 https://registry.npmjs.org/etag npm http 304 https://registry.npmjs.org/methods/1.1.1 npm http 304 https://registry.npmjs.org/parseurl npm http 304 https://registry.npmjs.org/on-finished npm http 304 https://registry.npmjs.org/path-to-regexp/0.1.3 npm http 304 https://registry.npmjs.org/proxy-addr npm http 304 https://registry.npmjs.org/range-parser npm http 304 https://registry.npmjs.org/qs/2.3.3 npm http 304 https://registry.npmjs.org/type-is npm http 304 https://registry.npmjs.org/send/0.10.1 npm http 304 https://registry.npmjs.org/serve-static npm http 304 https://registry.npmjs.org/cookie/0.1.2 npm http 304 https://registry.npmjs.org/utils-merge/1.0.0 npm http 304 https://registry.npmjs.org/vary npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.2 npm http 304 https://registry.npmjs.org/accepts npm http 304 https://registry.npmjs.org/media-typer/0.3.0 npm http 304 https://registry.npmjs.org/content-disposition/0.5.0 npm http GET https://registry.npmjs.org/crc/3.2.1 npm http GET https://registry.npmjs.org/mime-types npm http GET https://registry.npmjs.org/negotiator/0.4.9 npm http GET https://registry.npmjs.org/ee-first/1.1.0 npm http GET https://registry.npmjs.org/mime-types npm http GET https://registry.npmjs.org/forwarded npm http GET https://registry.npmjs.org/ipaddr.js/0.1.6 npm http GET https://registry.npmjs.org/destroy/1.0.3 npm http GET https://registry.npmjs.org/mime/1.2.11 npm http GET https://registry.npmjs.org/ms/0.6.2 npm http 304 https://registry.npmjs.org/crc/3.2.1 npm http 304 https://registry.npmjs.org/negotiator/0.4.9 npm http 304 https://registry.npmjs.org/ee-first/1.1.0 npm http 304 https://registry.npmjs.org/mime-types npm http 304 https://registry.npmjs.org/mime-types npm http GET https://registry.npmjs.org/mime-db npm http 304 https://registry.npmjs.org/mime/1.2.11 npm http 304 https://registry.npmjs.org/ipaddr.js/0.1.6 npm http 304 https://registry.npmjs.org/ms/0.6.2 npm http 304 https://registry.npmjs.org/destroy/1.0.3 npm http 304 https://registry.npmjs.org/forwarded npm http 304 https://registry.npmjs.org/mime-db npm WARN package.json github-url-from-git@1.1.1 No repository field. npm WARN package.json assert-plus@0.1.2 No repository field. npm WARN package.json ctype@0.5.2 No repository field. express@4.10.7 /usr/local/lib/node_modules/express ├── merge-descriptors@0.0.2 ├── utils-merge@1.0.0 ├── methods@1.1.1 ├── fresh@0.2.4 ├── cookie@0.1.2 ├── escape-html@1.0.1 ├── range-parser@1.0.2 ├── cookie-signature@1.0.5 ├── finalhandler@0.3.3 ├── vary@1.0.0 ├── media-typer@0.3.0 ├── parseurl@1.3.0 ├── serve-static@1.7.2 ├── content-disposition@0.5.0 ├── path-to-regexp@0.1.3 ├── depd@1.0.0 ├── qs@2.3.3 ├── etag@1.5.1 (crc@3.2.1) ├── on-finished@2.2.0 (ee-first@1.1.0) ├── debug@2.1.1 (ms@0.6.2) ├── send@0.10.1 (destroy@1.0.3, ms@0.6.2, on-finished@2.1.1, mime@1.2.11) ├── proxy-addr@1.0.5 (forwarded@0.1.0, ipaddr.js@0.1.6) ├── accepts@1.1.4 (negotiator@0.4.9, mime-types@2.0.7) └── type-is@1.5.5 (mime-types@2.0.7)xwh@xwh:~/BLOG_DIRECOTRY/node$检测问题
express -e nodejs-demo The program 'express' is currently not installed. You can install it by typing: sudo apt-get install node-expressexpress 已经把命令行工具分离出来了…
sudo npm install -g express-generator@3 xwh@xwh:~/BLOG_DIRECOTRY/node$ sudo npm remove express -g xwh@xwh:~/BLOG_DIRECOTRY/node$ sudo npm install -g express-generator@3 npm http GET https://registry.npmjs.org/express-generator npm http 200 https://registry.npmjs.org/express-generator npm http GET https://registry.npmjs.org/express-generator/-/express-generator-3.0.0.tgz npm http 200 https://registry.npmjs.org/express-generator/-/express-generator-3.0.0.tgz npm http GET https://registry.npmjs.org/commander/1.3.2 npm http GET https://registry.npmjs.org/mkdirp/0.3.5 npm http 200 https://registry.npmjs.org/mkdirp/0.3.5 npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz npm http 200 https://registry.npmjs.org/commander/1.3.2 npm http GET https://registry.npmjs.org/commander/-/commander-1.3.2.tgz npm http 200 https://registry.npmjs.org/commander/-/commander-1.3.2.tgz npm http GET https://registry.npmjs.org/keypress npm http 200 https://registry.npmjs.org/keypress npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz /usr/local/bin/express -> /usr/local/lib/node_modules/express-generator/bin/express npm WARN package.json github-url-from-git@1.1.1 No repository field. npm WARN package.json assert-plus@0.1.2 No repository field. npm WARN package.json ctype@0.5.2 No repository field. express-generator@3.0.0 /usr/local/lib/node_modules/express-generator ├── mkdirp@0.3.5 └── commander@1.3.2 (keypress@0.1.0)xwh@xwh:~/BLOG_DIRECOTRY/node$ sudo npm install -g express-generator@3
express -e nodejs-demo
xwh@xwh:~/BLOG_DIRECOTRY/node$ express -V 3.0.0
xwh@xwh:~/BLOG_DIRECOTRY/node$ express -e nodejs-demo create : nodejs-demo create : nodejs-demo/package.json create : nodejs-demo/app.js create : nodejs-demo/public create : nodejs-demo/public/images create : nodejs-demo/public/stylesheets create : nodejs-demo/public/stylesheets/style.css create : nodejs-demo/routes create : nodejs-demo/routes/index.js create : nodejs-demo/routes/user.js create : nodejs-demo/views create : nodejs-demo/views/index.ejs create : nodejs-demo/views/error.ejs create : nodejs-demo/bin create : nodejs-demo/bin/www create : nodejs-demo/public/javascripts install dependencies: $ cd nodejs-demo && npm install run the app: $ DEBUG=my-application ./bin/www安装node
xwh@xwh:~/BLOG_DIRECOTRY/node$ ls AUTHORS common.gypi CONTRIBUTING.md LICENSE nodejs-demo test benchmark config.gypi deps Makefile out tools BSDmakefile config.mk doc node README.md vcbuild.bat ChangeLog configure lib node.gyp src xwh@xwh:~/BLOG_DIRECOTRY/node$ cd nodejs-demo/ xwh@xwh:~/BLOG_DIRECOTRY/node/nodejs-demo$ sudo npm install结果(npm list里面没有空的即可)
npm WARN package.json application-name@0.0.1 No repository field. npm WARN package.json application-name@0.0.1 No readme data. npm http GET https://registry.npmjs.org/static-favicon npm http GET https://registry.npmjs.org/ejs npm http GET https://registry.npmjs.org/cookie-parser npm http GET https://registry.npmjs.org/morgan npm http GET https://registry.npmjs.org/body-parser npm http GET https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/debug npm http 200 https://registry.npmjs.org/cookie-parser npm http GET https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.0.1.tgz npm http 200 https://registry.npmjs.org/morgan npm http GET https://registry.npmjs.org/morgan/-/morgan-1.0.1.tgz npm http 304 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/express/-/express-3.4.8.tgz npm http 200 https://registry.npmjs.org/body-parser npm http GET https://registry.npmjs.org/body-parser/-/body-parser-1.0.2.tgz npm http 200 https://registry.npmjs.org/static-favicon npm WARN deprecated static-favicon@1.0.2: use serve-favicon module npm http GET https://registry.npmjs.org/static-favicon/-/static-favicon-1.0.2.tgz npm http 304 https://registry.npmjs.org/debug npm http GET https://registry.npmjs.org/debug/-/debug-0.7.4.tgz npm http 200 https://registry.npmjs.org/ejs npm http GET https://registry.npmjs.org/ejs/-/ejs-0.8.8.tgz npm http 200 https://registry.npmjs.org/express/-/express-3.4.8.tgz npm http 200 https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.0.1.tgz npm http 200 https://registry.npmjs.org/body-parser/-/body-parser-1.0.2.tgz npm http 200 https://registry.npmjs.org/morgan/-/morgan-1.0.1.tgz npm http 200 https://registry.npmjs.org/debug/-/debug-0.7.4.tgz npm http 200 https://registry.npmjs.org/ejs/-/ejs-0.8.8.tgz npm http 200 https://registry.npmjs.org/static-favicon/-/static-favicon-1.0.2.tgz npm http GET https://registry.npmjs.org/bytes/0.3.0 npm http GET https://registry.npmjs.org/cookie/0.1.0 npm http GET https://registry.npmjs.org/cookie-signature/1.0.3 npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/raw-body npm http GET https://registry.npmjs.org/type-is npm http GET https://registry.npmjs.org/connect/2.12.0 npm http GET https://registry.npmjs.org/range-parser/0.0.4 npm http GET https://registry.npmjs.org/commander/1.3.2 npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1 npm http GET https://registry.npmjs.org/fresh/0.2.0 npm http GET https://registry.npmjs.org/methods/0.1.0 npm http GET https://registry.npmjs.org/send/0.1.4 npm http GET https://registry.npmjs.org/mkdirp/0.3.5 npm http GET https://registry.npmjs.org/cookie-signature/1.0.1 npm http GET https://registry.npmjs.org/merge-descriptors/0.0.1 npm http 200 https://registry.npmjs.org/bytes/0.3.0 npm http GET https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz npm http 200 https://registry.npmjs.org/cookie/0.1.0 npm http GET https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz npm http 304 https://registry.npmjs.org/type-is npm http GET https://registry.npmjs.org/type-is/-/type-is-1.1.0.tgz npm http 200 https://registry.npmjs.org/cookie-signature/1.0.3 npm http GET https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz npm http 200 https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/qs/-/qs-0.6.6.tgz npm http 200 https://registry.npmjs.org/range-parser/0.0.4 npm http GET https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz npm http 304 https://registry.npmjs.org/commander/1.3.2 npm http 200 https://registry.npmjs.org/connect/2.12.0 npm http GET https://registry.npmjs.org/connect/-/connect-2.12.0.tgz npm http 200 https://registry.npmjs.org/raw-body npm http GET https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz npm http 200 https://registry.npmjs.org/buffer-crc32/0.2.1 npm http GET https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz npm http 200 https://registry.npmjs.org/fresh/0.2.0 npm http GET https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz npm http 200 https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz npm http 200 https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz npm http 200 https://registry.npmjs.org/methods/0.1.0 npm http GET https://registry.npmjs.org/methods/-/methods-0.1.0.tgz npm http 304 https://registry.npmjs.org/mkdirp/0.3.5 npm http 200 https://registry.npmjs.org/cookie-signature/1.0.1 npm http GET https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz npm WARN package.json range-parser@0.0.4 No repository field. npm http 200 https://registry.npmjs.org/connect/-/connect-2.12.0.tgz npm http 200 https://registry.npmjs.org/type-is/-/type-is-1.1.0.tgz npm http 200 https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz npm http 200 https://registry.npmjs.org/send/0.1.4 npm http GET https://registry.npmjs.org/send/-/send-0.1.4.tgz npm http 200 https://registry.npmjs.org/qs/-/qs-0.6.6.tgz npm http 200 https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz npm http 200 https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz npm http GET https://registry.npmjs.org/bytes npm http GET https://registry.npmjs.org/string_decoder npm http GET https://registry.npmjs.org/mime npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz npm http 200 https://registry.npmjs.org/merge-descriptors/0.0.1 npm http GET https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.1.tgz npm http 200 https://registry.npmjs.org/methods/-/methods-0.1.0.tgz npm http 200 https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz npm WARN package.json cookie-signature@1.0.1 No repository field. npm http 200 https://registry.npmjs.org/send/-/send-0.1.4.tgz npm http 200 https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.1.tgz npm http GET https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/keypress npm http GET https://registry.npmjs.org/batch/0.5.0 npm http GET https://registry.npmjs.org/qs/0.6.6 npm http GET https://registry.npmjs.org/bytes/0.2.1 npm http GET https://registry.npmjs.org/pause/0.0.1 npm http GET https://registry.npmjs.org/uid2/0.0.3 npm http GET https://registry.npmjs.org/raw-body/1.1.2 npm http GET https://registry.npmjs.org/negotiator/0.3.0 npm http GET https://registry.npmjs.org/multiparty/2.2.0 npm http 200 https://registry.npmjs.org/string_decoder npm http GET https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz npm http 200 https://registry.npmjs.org/batch/0.5.0 npm http GET https://registry.npmjs.org/batch/-/batch-0.5.0.tgz npm http 200 https://registry.npmjs.org/bytes npm http GET https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz npm http 200 https://registry.npmjs.org/qs/0.6.6 npm http GET https://registry.npmjs.org/qs/-/qs-0.6.6.tgz npm http 200 https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz npm http 200 https://registry.npmjs.org/mime npm http 200 https://registry.npmjs.org/bytes/0.2.1 npm http GET https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz npm http 304 https://registry.npmjs.org/keypress npm http 200 https://registry.npmjs.org/pause/0.0.1 npm http GET https://registry.npmjs.org/pause/-/pause-0.0.1.tgz npm http 200 https://registry.npmjs.org/batch/-/batch-0.5.0.tgz npm WARN package.json batch@0.5.0 No repository field. npm http 200 https://registry.npmjs.org/mime npm http 200 https://registry.npmjs.org/uid2/0.0.3 npm http GET https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz npm http 200 https://registry.npmjs.org/raw-body/1.1.2 npm http GET https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz npm http 200 https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz npm http 200 https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz npm http 200 https://registry.npmjs.org/negotiator/0.3.0 npm http GET https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz npm http 200 https://registry.npmjs.org/qs/-/qs-0.6.6.tgz npm http 200 https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz npm WARN package.json bytes@0.2.1 No repository field. npm http 200 https://registry.npmjs.org/pause/-/pause-0.0.1.tgz npm WARN package.json pause@0.0.1 No repository field. npm http 200 https://registry.npmjs.org/multiparty/2.2.0 npm http GET https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz npm http 200 https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz npm WARN package.json uid2@0.0.3 No repository field. npm WARN package.json uid2@0.0.3 No readme data. npm http 200 https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz npm http 200 https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz npm http GET https://registry.npmjs.org/readable-stream npm http GET https://registry.npmjs.org/stream-counter npm http 200 https://registry.npmjs.org/stream-counter npm http GET https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz npm http 200 https://registry.npmjs.org/readable-stream npm http GET https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz npm http 200 https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz npm http 200 https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz npm http GET https://registry.npmjs.org/core-util-is npm http GET https://registry.npmjs.org/isarray/0.0.1 npm http GET https://registry.npmjs.org/inherits npm http GET https://registry.npmjs.org/string_decoder npm http 200 https://registry.npmjs.org/core-util-is npm http GET https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz npm http 200 https://registry.npmjs.org/inherits npm http 304 https://registry.npmjs.org/string_decoder npm http GET https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz npm http 200 https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz npm http 200 https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz npm http 200 https://registry.npmjs.org/isarray/0.0.1 npm http GET https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz npm http 200 https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz debug@0.7.4 node_modules/debug static-favicon@1.0.2 node_modules/static-favicon ejs@0.8.8 node_modules/ejs morgan@1.0.1 node_modules/morgan └── bytes@0.3.0 cookie-parser@1.0.1 node_modules/cookie-parser ├── cookie-signature@1.0.3 └── cookie@0.1.0 body-parser@1.0.2 node_modules/body-parser ├── qs@0.6.6 ├── type-is@1.1.0 (mime@1.2.11) └── raw-body@1.1.7 (string_decoder@0.10.31, bytes@1.0.0) express@3.4.8 node_modules/express ├── methods@0.1.0 ├── merge-descriptors@0.0.1 ├── range-parser@0.0.4 ├── cookie-signature@1.0.1 ├── fresh@0.2.0 ├── buffer-crc32@0.2.1 ├── cookie@0.1.0 ├── mkdirp@0.3.5 ├── send@0.1.4 (mime@1.2.11) ├── commander@1.3.2 (keypress@0.1.0) └── connect@2.12.0 (uid2@0.0.3, pause@0.0.1, qs@0.6.6, bytes@0.2.1, raw-body@1.1.2, batch@0.5.0, negotiator@0.3.0, multiparty@2.2.0)
安装angular basic
express -e angular-basic
create : angular-basic create : angular-basic/package.json create : angular-basic/app.js create : angular-basic/public create : angular-basic/public/images create : angular-basic/public/stylesheets create : angular-basic/public/stylesheets/style.css create : angular-basic/routes create : angular-basic/routes/index.js create : angular-basic/routes/user.js create : angular-basic/views create : angular-basic/views/index.ejs create : angular-basic/views/error.ejs create : angular-basic/bin create : angular-basic/bin/www create : angular-basic/public/javascripts install dependencies: $ cd angular-basic && npm install run the app: $ DEBUG=my-application ./bin/www
安装angular-basic
cd angular-basic sudo npm install [sudo] password for xwh: npm WARN package.json application-name@0.0.1 No repository field. npm WARN package.json application-name@0.0.1 No readme data. npm http GET https://registry.npmjs.org/static-favicon npm http GET https://registry.npmjs.org/morgan npm http GET https://registry.npmjs.org/cookie-parser npm http GET https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/body-parser npm http GET https://registry.npmjs.org/debug npm http GET https://registry.npmjs.org/ejs npm http 304 https://registry.npmjs.org/static-favicon npm WARN deprecated static-favicon@1.0.2: use serve-favicon module npm http 304 https://registry.npmjs.org/debug npm http 200 https://registry.npmjs.org/morgan npm http 200 https://registry.npmjs.org/cookie-parser npm http 200 https://registry.npmjs.org/body-parser npm http 200 https://registry.npmjs.org/ejs npm http 200 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/cookie/0.1.0 npm http GET https://registry.npmjs.org/type-is npm http GET https://registry.npmjs.org/cookie-signature/1.0.3 npm http GET https://registry.npmjs.org/bytes/0.3.0 npm http GET https://registry.npmjs.org/raw-body npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/connect/2.12.0 npm http GET https://registry.npmjs.org/commander/1.3.2 npm http GET https://registry.npmjs.org/mkdirp/0.3.5 npm http GET https://registry.npmjs.org/range-parser/0.0.4 npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1 npm http GET https://registry.npmjs.org/fresh/0.2.0 npm http GET https://registry.npmjs.org/methods/0.1.0 npm http GET https://registry.npmjs.org/cookie-signature/1.0.1 npm http GET https://registry.npmjs.org/send/0.1.4 npm http GET https://registry.npmjs.org/merge-descriptors/0.0.1 npm http 304 https://registry.npmjs.org/type-is npm http 304 https://registry.npmjs.org/raw-body npm http 304 https://registry.npmjs.org/cookie/0.1.0 npm http 304 https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/bytes npm http GET https://registry.npmjs.org/string_decoder npm http GET https://registry.npmjs.org/mime npm http 304 https://registry.npmjs.org/bytes/0.3.0 npm http 304 https://registry.npmjs.org/cookie-signature/1.0.3 npm http 304 https://registry.npmjs.org/mkdirp/0.3.5 npm http 304 https://registry.npmjs.org/connect/2.12.0 npm http 304 https://registry.npmjs.org/commander/1.3.2 npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1 npm http 304 https://registry.npmjs.org/methods/0.1.0 npm http 304 https://registry.npmjs.org/range-parser/0.0.4 npm WARN package.json range-parser@0.0.4 No repository field. npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1 npm WARN package.json cookie-signature@1.0.1 No repository field. npm http 304 https://registry.npmjs.org/send/0.1.4 npm http 304 https://registry.npmjs.org/bytes npm http 304 https://registry.npmjs.org/string_decoder npm http 304 https://registry.npmjs.org/mime npm http 304 https://registry.npmjs.org/fresh/0.2.0 npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.1 npm http GET https://registry.npmjs.org/keypress npm http GET https://registry.npmjs.org/qs/0.6.6 npm http GET https://registry.npmjs.org/bytes/0.2.1 npm http GET https://registry.npmjs.org/batch/0.5.0 npm http GET https://registry.npmjs.org/uid2/0.0.3 npm http GET https://registry.npmjs.org/raw-body/1.1.2 npm http GET https://registry.npmjs.org/pause/0.0.1 npm http GET https://registry.npmjs.org/negotiator/0.3.0 npm http GET https://registry.npmjs.org/multiparty/2.2.0 npm http 304 https://registry.npmjs.org/keypress npm http 304 https://registry.npmjs.org/qs/0.6.6 npm http 304 https://registry.npmjs.org/raw-body/1.1.2 npm http 304 https://registry.npmjs.org/bytes/0.2.1 npm WARN package.json bytes@0.2.1 No repository field. npm http 304 https://registry.npmjs.org/pause/0.0.1 npm WARN package.json pause@0.0.1 No repository field. npm http 304 https://registry.npmjs.org/multiparty/2.2.0 npm http 304 https://registry.npmjs.org/uid2/0.0.3 npm WARN package.json uid2@0.0.3 No repository field. npm WARN package.json uid2@0.0.3 No readme data. npm http 304 https://registry.npmjs.org/batch/0.5.0 npm WARN package.json batch@0.5.0 No repository field. npm http 304 https://registry.npmjs.org/negotiator/0.3.0 npm http GET https://registry.npmjs.org/readable-stream npm http GET https://registry.npmjs.org/stream-counter npm http 304 https://registry.npmjs.org/stream-counter npm http 304 https://registry.npmjs.org/readable-stream npm http GET https://registry.npmjs.org/core-util-is npm http GET https://registry.npmjs.org/inherits npm http GET https://registry.npmjs.org/isarray/0.0.1 npm http 304 https://registry.npmjs.org/core-util-is npm http 304 https://registry.npmjs.org/inherits npm http 304 https://registry.npmjs.org/isarray/0.0.1 debug@0.7.4 node_modules/debug static-favicon@1.0.2 node_modules/static-favicon ejs@0.8.8 node_modules/ejs morgan@1.0.1 node_modules/morgan └── bytes@0.3.0 cookie-parser@1.0.1 node_modules/cookie-parser ├── cookie-signature@1.0.3 └── cookie@0.1.0 body-parser@1.0.2 node_modules/body-parser ├── qs@0.6.6 ├── raw-body@1.1.7 (bytes@1.0.0, string_decoder@0.10.31) └── type-is@1.1.0 (mime@1.2.11) express@3.4.8 node_modules/express ├── methods@0.1.0 ├── cookie-signature@1.0.1 ├── buffer-crc32@0.2.1 ├── merge-descriptors@0.0.1 ├── range-parser@0.0.4 ├── fresh@0.2.0 ├── cookie@0.1.0 ├── mkdirp@0.3.5 ├── send@0.1.4 (mime@1.2.11) ├── commander@1.3.2 (keypress@0.1.0) └── connect@2.12.0 (uid2@0.0.3, pause@0.0.1, qs@0.6.6, bytes@0.2.1, raw-body@1.1.2, batch@0.5.0, negotiator@0.3.0, multiparty@2.2.0)
部署
xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ mkdir app xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ mkdir app/scripts xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ mkdir app/scripts/angular xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ mkdir app/styles xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ mkdir app/views xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ mkdir app/views/component xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ mkdir app/views/tpl xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ touch app/index.html xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ touch app/scripts/angular/app.js xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ touch app/scripts/angular/controllers.jsxwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ touch app/styles/main.css xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ touch app/views/tpl/welcome.html xwh@xwh:~/BLOG_DIRECOTRY/angular-basic$ echo "aaaa">app/index.html配置app.js(angular-basic 目录下)
var express = require('express') , path = require('path') , ejs = require('ejs') , app = express() , server = require('http').createServer(app); app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.engine('.html', ejs.__express); app.set('view engine', 'html'); //替换文件扩展名ejs为html app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'app'))); if (app.get('env') === 'development') { app.use(express.errorHandler()); } // angular启动页 app.get('/', function (req, res) { res.sendfile('app/index.html'); }); server.listen(app.get('port'), function () { console.log('Express server listening on port ' + app.get('port')); });
目录解释:
app目录: Angular项目的根目录
scripts目录: 存放Javascript脚本目录
scripts\angular目录: 存放Angular Javascript脚本目录
styles目录: 存放css的目录
views目录: 存放html的目录
views\component目录: 存放html的自定义组件目录
views\tpl目录: 存放html的目录
文件解释:
app\index.html: Angular项目的入口文件
styles\main.css: Angular项目的css文件
scripts\angular\app.js: Angular项目全局配置文件
scripts\angular\controllers.js: Angular项目全局控制器文件/li>
views\tpl\welcome.html: 欢迎页
安装bower
全局安装bower\
sudo npm install bower -g执行结果
npm http GET https://registry.npmjs.org/bower npm http 200 https://registry.npmjs.org/bower npm http GET https://registry.npmjs.org/bower/-/bower-1.3.12.tgz npm http 200 https://registry.npmjs.org/bower/-/bower-1.3.12.tgz npm http GET https://registry.npmjs.org/bower-config npm http GET https://registry.npmjs.org/abbrev npm http GET https://registry.npmjs.org/archy/0.0.2 npm http GET https://registry.npmjs.org/bower-endpoint-parser npm http GET https://registry.npmjs.org/bower-json npm http GET https://registry.npmjs.org/bower-logger npm http GET https://registry.npmjs.org/bower-registry-client npm http GET https://registry.npmjs.org/cardinal/0.4.0 npm http GET https://registry.npmjs.org/chalk/0.5.0 npm http GET https://registry.npmjs.org/chmodr/0.1.0 npm http GET https://registry.npmjs.org/decompress-zip/0.0.8 npm http GET https://registry.npmjs.org/fstream npm http GET https://registry.npmjs.org/fstream-ignore npm http GET https://registry.npmjs.org/glob npm http GET https://registry.npmjs.org/graceful-fs npm http GET https://registry.npmjs.org/handlebars npm http GET https://registry.npmjs.org/inquirer/0.7.1 npm http GET https://registry.npmjs.org/insight/0.4.3 npm http GET https://registry.npmjs.org/is-root npm http GET https://registry.npmjs.org/junk npm http GET https://registry.npmjs.org/lockfile npm http GET https://registry.npmjs.org/lru-cache npm http GET https://registry.npmjs.org/mkdirp/0.5.0 npm http GET https://registry.npmjs.org/mout npm http GET https://registry.npmjs.org/nopt npm http GET https://registry.npmjs.org/opn npm http GET https://registry.npmjs.org/osenv/0.1.0 npm http GET https://registry.npmjs.org/p-throttler/0.1.0 npm http GET https://registry.npmjs.org/promptly/0.2.0 npm http GET https://registry.npmjs.org/q npm http GET https://registry.npmjs.org/request npm http GET https://registry.npmjs.org/request-progress/0.3.0 npm http GET https://registry.npmjs.org/retry/0.6.0 npm http GET https://registry.npmjs.org/rimraf npm http GET https://registry.npmjs.org/semver npm http GET https://registry.npmjs.org/shell-quote npm http GET https://registry.npmjs.org/stringify-object npm http GET https://registry.npmjs.org/tar-fs/0.5.2 npm http GET https://registry.npmjs.org/tmp/0.0.23 npm http GET https://registry.npmjs.org/update-notifier/0.2.0 npm http GET https://registry.npmjs.org/which npm http 200 https://registry.npmjs.org/abbrev npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz npm http 200 https://registry.npmjs.org/archy/0.0.2 npm http GET https://registry.npmjs.org/archy/-/archy-0.0.2.tgz npm http 200 https://registry.npmjs.org/bower-json npm http GET https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz npm http 200 https://registry.npmjs.org/bower-config npm http GET https://registry.npmjs.org/bower-config/-/bower-config-0.5.2.tgz npm http 200 https://registry.npmjs.org/bower-endpoint-parser npm http GET https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz npm http 200 https://registry.npmjs.org/bower-logger npm http GET https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz npm http 200 https://registry.npmjs.org/chalk/0.5.0 npm http GET https://registry.npmjs.org/chalk/-/chalk-0.5.0.tgz npm http 200 https://registry.npmjs.org/cardinal/0.4.0 npm http GET https://registry.npmjs.org/cardinal/-/cardinal-0.4.0.tgz npm http 200 https://registry.npmjs.org/chmodr/0.1.0 npm http GET https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz npm http 200 https://registry.npmjs.org/fstream-ignore npm http GET https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz npm http 200 https://registry.npmjs.org/archy/-/archy-0.0.2.tgz npm http 200 https://registry.npmjs.org/decompress-zip/0.0.8 npm http GET https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.8.tgz npm http 200 https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz npm http 200 https://registry.npmjs.org/bower-config/-/bower-config-0.5.2.tgz npm http 200 https://registry.npmjs.org/chalk/-/chalk-0.5.0.tgz npm http 200 https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz npm http 200 https://registry.npmjs.org/fstream npm http GET https://registry.npmjs.org/fstream/-/fstream-1.0.3.tgz npm http 200 https://registry.npmjs.org/graceful-fs npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz npm http 200 https://registry.npmjs.org/cardinal/-/cardinal-0.4.0.tgz npm http 200 https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz npm http 200 https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz npm http 200 https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz npm http 200 https://registry.npmjs.org/bower-registry-client npm http GET https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.2.2.tgz npm http 200 https://registry.npmjs.org/inquirer/0.7.1 npm http GET https://registry.npmjs.org/inquirer/-/inquirer-0.7.1.tgz npm http 200 https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.8.tgz npm http 200 https://registry.npmjs.org/fstream/-/fstream-1.0.3.tgz npm http 200 https://registry.npmjs.org/insight/0.4.3 npm http GET https://registry.npmjs.org/insight/-/insight-0.4.3.tgz npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz npm http 200 https://registry.npmjs.org/junk npm http GET https://registry.npmjs.org/junk/-/junk-1.0.0.tgz npm http 200 https://registry.npmjs.org/lockfile npm http GET https://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz npm http 200 https://registry.npmjs.org/junk/-/junk-1.0.0.tgz npm http 200 https://registry.npmjs.org/is-root npm http GET https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz npm http 200 https://registry.npmjs.org/glob npm http GET https://registry.npmjs.org/glob/-/glob-4.0.6.tgz npm http 200 https://registry.npmjs.org/lru-cache npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz npm http 200 https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz npm http 200 https://registry.npmjs.org/mkdirp/0.5.0 npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz npm http 200 https://registry.npmjs.org/inquirer/-/inquirer-0.7.1.tgz npm http 200 https://registry.npmjs.org/insight/-/insight-0.4.3.tgz npm http 200 https://registry.npmjs.org/glob/-/glob-4.0.6.tgz npm http 200 https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.2.2.tgz npm http 200 https://registry.npmjs.org/handlebars npm http 200 https://registry.npmjs.org/osenv/0.1.0 npm http GET https://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz npm http GET https://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz npm http 200 https://registry.npmjs.org/nopt npm http GET https://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz npm http 200 https://registry.npmjs.org/opn npm http GET https://registry.npmjs.org/opn/-/opn-1.0.1.tgz npm http 200 https://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz npm http 200 https://registry.npmjs.org/p-throttler/0.1.0 npm http GET https://registry.npmjs.org/p-throttler/-/p-throttler-0.1.0.tgz npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz npm http 200 https://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz npm http 200 https://registry.npmjs.org/request-progress/0.3.0 npm http GET https://registry.npmjs.org/request-progress/-/request-progress-0.3.0.tgz npm http 200 https://registry.npmjs.org/promptly/0.2.0 npm http GET https://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz npm http 200 https://registry.npmjs.org/retry/0.6.0 npm http GET https://registry.npmjs.org/retry/-/retry-0.6.0.tgz npm http 200 https://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz npm http 200 https://registry.npmjs.org/opn/-/opn-1.0.1.tgz npm http 200 https://registry.npmjs.org/mout npm http GET https://registry.npmjs.org/mout/-/mout-0.9.1.tgz npm http 200 https://registry.npmjs.org/p-throttler/-/p-throttler-0.1.0.tgz npm http 200 https://registry.npmjs.org/request-progress/-/request-progress-0.3.0.tgz npm http 200 https://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz npm http 200 https://registry.npmjs.org/retry/-/retry-0.6.0.tgz npm http 200 https://registry.npmjs.org/mout/-/mout-0.9.1.tgz npm http 200 https://registry.npmjs.org/rimraf npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz npm http 200 https://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz npm http 200 https://registry.npmjs.org/shell-quote npm http GET https://registry.npmjs.org/shell-quote/-/shell-quote-1.4.2.tgz npm http 200 https://registry.npmjs.org/shell-quote/-/shell-quote-1.4.2.tgz npm http 200 https://registry.npmjs.org/tar-fs/0.5.2 npm http GET https://registry.npmjs.org/tar-fs/-/tar-fs-0.5.2.tgz npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz npm http 200 https://registry.npmjs.org/semver npm http GET https://registry.npmjs.org/semver/-/semver-2.3.2.tgz npm http 200 https://registry.npmjs.org/tar-fs/-/tar-fs-0.5.2.tgz npm http 200 https://registry.npmjs.org/tmp/0.0.23 npm http GET https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz npm http 200 https://registry.npmjs.org/update-notifier/0.2.0 npm http GET https://registry.npmjs.org/update-notifier/-/update-notifier-0.2.0.tgz npm http 200 https://registry.npmjs.org/semver/-/semver-2.3.2.tgz npm http 200 https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz npm http 200 https://registry.npmjs.org/which npm http GET https://registry.npmjs.org/which/-/which-1.0.8.tgz npm http 200 https://registry.npmjs.org/stringify-object npm http GET https://registry.npmjs.org/stringify-object/-/stringify-object-1.0.0.tgz npm http 200 https://registry.npmjs.org/update-notifier/-/update-notifier-0.2.0.tgz npm http 200 https://registry.npmjs.org/which/-/which-1.0.8.tgz npm http 200 https://registry.npmjs.org/stringify-object/-/stringify-object-1.0.0.tgz npm http 200 https://registry.npmjs.org/request npm http GET https://registry.npmjs.org/request/-/request-2.42.0.tgz npm http 200 https://registry.npmjs.org/request/-/request-2.42.0.tgz npm http 200 https://registry.npmjs.org/q npm http GET https://registry.npmjs.org/q/-/q-1.0.1.tgz npm http 200 https://registry.npmjs.org/q/-/q-1.0.1.tgz npm http GET https://registry.npmjs.org/has-ansi npm http GET https://registry.npmjs.org/strip-ansi npm http GET https://registry.npmjs.org/supports-color npm http GET https://registry.npmjs.org/ansi-styles npm http GET https://registry.npmjs.org/escape-string-regexp npm http GET https://registry.npmjs.org/semver-diff npm http GET https://registry.npmjs.org/latest-version npm http GET https://registry.npmjs.org/string-length npm http GET https://registry.npmjs.org/chalk npm http GET https://registry.npmjs.org/configstore npm http GET https://registry.npmjs.org/inquirer npm http GET https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/chalk npm http GET https://registry.npmjs.org/lodash.debounce npm http GET https://registry.npmjs.org/configstore npm http GET https://registry.npmjs.org/object-assign npm http GET https://registry.npmjs.org/os-name npm http GET https://registry.npmjs.org/tough-cookie npm http GET https://registry.npmjs.org/request npm http GET https://registry.npmjs.org/throttleit npm http GET https://registry.npmjs.org/read npm http GET https://registry.npmjs.org/tar-stream npm http GET https://registry.npmjs.org/mkdirp npm http GET https://registry.npmjs.org/pump npm http GET https://registry.npmjs.org/q npm http GET https://registry.npmjs.org/osenv/0.0.3 npm http GET https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/graceful-fs npm http GET https://registry.npmjs.org/array-reduce npm http GET https://registry.npmjs.org/array-map npm http GET https://registry.npmjs.org/jsonify npm http GET https://registry.npmjs.org/array-filter npm http GET https://registry.npmjs.org/minimatch npm http GET https://registry.npmjs.org/fstream npm http GET https://registry.npmjs.org/inherits npm http GET https://registry.npmjs.org/intersect npm http GET https://registry.npmjs.org/deep-extend npm http GET https://registry.npmjs.org/mkpath npm http GET https://registry.npmjs.org/binary npm http GET https://registry.npmjs.org/touch/0.0.2 npm http GET https://registry.npmjs.org/readable-stream npm http GET https://registry.npmjs.org/nopt npm http GET https://registry.npmjs.org/minimist/0.0.8 npm http GET https://registry.npmjs.org/cli-color npm http GET https://registry.npmjs.org/lodash npm http GET https://registry.npmjs.org/figures npm http GET https://registry.npmjs.org/mute-stream/0.0.4 npm http GET https://registry.npmjs.org/readline2 npm http GET https://registry.npmjs.org/rx npm http GET https://registry.npmjs.org/through npm http GET https://registry.npmjs.org/inherits npm http GET https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/request-replay npm http GET https://registry.npmjs.org/mkdirp npm http GET https://registry.npmjs.org/request npm http GET https://registry.npmjs.org/lru-cache npm http GET https://registry.npmjs.org/redeyed npm http GET https://registry.npmjs.org/bl npm http GET https://registry.npmjs.org/caseless npm http GET https://registry.npmjs.org/forever-agent npm http GET https://registry.npmjs.org/json-stringify-safe npm http GET https://registry.npmjs.org/node-uuid npm http GET https://registry.npmjs.org/tunnel-agent npm http GET https://registry.npmjs.org/tough-cookie npm http GET https://registry.npmjs.org/form-data npm http GET https://registry.npmjs.org/http-signature npm http GET https://registry.npmjs.org/oauth-sign npm http GET https://registry.npmjs.org/hawk/1.1.1 npm http GET https://registry.npmjs.org/aws-sign2 npm http GET https://registry.npmjs.org/stringstream npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/mime-types npm http GET https://registry.npmjs.org/minimatch npm http GET https://registry.npmjs.org/once npm http GET https://registry.npmjs.org/graceful-fs npm http GET https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/uglify-js npm http 200 https://registry.npmjs.org/has-ansi npm http 200 https://registry.npmjs.org/supports-color npm http 200 https://registry.npmjs.org/ansi-styles npm ERR! Error: No compatible version found: supports-color@'^0.2.0' npm ERR! Valid install targets: npm ERR! ["0.2.0","1.0.0","1.1.0","1.2.0"] npm ERR! at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:709:10) npm ERR! at /usr/local/lib/node_modules/npm/lib/cache.js:631:10 npm ERR! at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:138:7) npm ERR! at Object.oncomplete (fs.js:94:15) npm ERR! If you need help, you may report this log at: npm ERR! <http://github.com/isaacs/npm/issues> npm ERR! or email it to: npm ERR! <npm-@googlegroups.com> npm ERR! System Linux 3.8.13.13-cdos npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "bower" "-g" npm ERR! cwd /home/xwh/BLOG_DIRECOTRY npm ERR! node -v v0.11.2 npm ERR! npm -v 1.2.21 npm http 200 https://registry.npmjs.org/semver-diff npm http 200 https://registry.npmjs.org/string-length npm http 200 https://registry.npmjs.org/escape-string-regexp npm http 200 https://registry.npmjs.org/latest-version npm http 200 https://registry.npmjs.org/chalk npm http 200 https://registry.npmjs.org/strip-ansi npm http 200 https://registry.npmjs.org/chalk npm http 200 https://registry.npmjs.org/configstore npm http 200 https://registry.npmjs.org/lodash.debounce npm http 200 https://registry.npmjs.org/configstore npm http 200 https://registry.npmjs.org/os-name npm http 304 https://registry.npmjs.org/request npm http 200 https://registry.npmjs.org/object-assign npm http 200 https://registry.npmjs.org/throttleit npm http GET https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz npm http 200 https://registry.npmjs.org/inquirer npm http 200 https://registry.npmjs.org/read npm http GET https://registry.npmjs.org/read/-/read-1.0.5.tgz npm http 200 https://registry.npmjs.org/async npm http 200 https://registry.npmjs.org/pump npm http 200 https://registry.npmjs.org/mkdirp npm http 304 https://registry.npmjs.org/q npm http GET https://registry.npmjs.org/q/-/q-0.9.7.tgz npm http 200 https://registry.npmjs.org/osenv/0.0.3 npm http GET https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz npm http 200 https://registry.npmjs.org/read/-/read-1.0.5.tgz npm http GET https://registry.npmjs.org/mute-stream npm http 304 https://registry.npmjs.org/graceful-fs npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz npm http 200 https://registry.npmjs.org/tar-stream npm http 200 https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz npm http 200 https://registry.npmjs.org/array-map npm http GET https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz npm http 200 https://registry.npmjs.org/jsonify npm http GET https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz npm http 200 https://registry.npmjs.org/array-reduce npm http GET https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz npm http 200 https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz npm http 200 https://registry.npmjs.org/array-filter npm http GET https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz npm http 304 https://registry.npmjs.org/fstream npm http 200 https://registry.npmjs.org/q/-/q-0.9.7.tgz npm http 200 https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz npm http 304 https://registry.npmjs.org/inherits npm http 200 https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz npm http 200 https://registry.npmjs.org/minimatch npm http 200 https://registry.npmjs.org/mkpath npm http GET https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz npm http 200 https://registry.npmjs.org/intersect npm http GET https://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz npm http 200 https://registry.npmjs.org/deep-extend npm http GET https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz npm http 200 https://registry.npmjs.org/touch/0.0.2 npm http GET https://registry.npmjs.org/touch/-/touch-0.0.2.tgz npm http 200 https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz npm http 304 https://registry.npmjs.org/readable-stream npm http 304 https://registry.npmjs.org/nopt npm http GET https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz npm http 200 https://registry.npmjs.org/touch/-/touch-0.0.2.tgz npm http 200 https://registry.npmjs.org/minimist/0.0.8 npm http GET https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz npm http 200 https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz npm http 200 https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz npm http 200 https://registry.npmjs.org/binary npm http GET https://registry.npmjs.org/binary/-/binary-0.3.0.tgz npm http 200 https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz npm http 200 https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz npm http 200 https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz npm http 200 https://registry.npmjs.org/mute-stream/0.0.4 npm http GET https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz npm http 200 https://registry.npmjs.org/readline2 npm http GET https://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz npm http 200 https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz npm http 200 https://registry.npmjs.org/tough-cookie npm http 200 https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz npm http 200 https://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz npm http 200 https://registry.npmjs.org/lodash npm http GET https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz npm http 200 https://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz npm http 200 https://registry.npmjs.org/binary/-/binary-0.3.0.tgz npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz npm http GET https://registry.npmjs.org/core-util-is npm http GET https://registry.npmjs.org/isarray/0.0.1 npm http GET https://registry.npmjs.org/string_decoder npm http GET https://registry.npmjs.org/chainsaw npm http GET https://registry.npmjs.org/buffers npm http 200 https://registry.npmjs.org/figures npm http 304 https://registry.npmjs.org/inherits npm http GET https://registry.npmjs.org/wordwrap npm http GET https://registry.npmjs.org/minimist npm http 200 https://registry.npmjs.org/through npm http GET https://registry.npmjs.org/through/-/through-2.3.6.tgz npm http 200 https://registry.npmjs.org/request-replay npm http GET https://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz npm http 200 https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz npm http 304 https://registry.npmjs.org/request npm http GET https://registry.npmjs.org/request/-/request-2.27.0.tgz npm http 200 https://registry.npmjs.org/mkdirp npm http 304 https://registry.npmjs.org/lru-cache npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz npm http 200 https://registry.npmjs.org/through/-/through-2.3.6.tgz npm http 200 https://registry.npmjs.org/cli-color npm http GET https://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz npm http 200 https://registry.npmjs.org/redeyed npm http GET https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz npm http 200 https://registry.npmjs.org/rx npm http 200 https://registry.npmjs.org/forever-agent npm http GET https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz npm http 200 https://registry.npmjs.org/json-stringify-safe npm http GET https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz npm http 200 https://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz npm http 200 https://registry.npmjs.org/tunnel-agent npm http GET https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz npm http 200 https://registry.npmjs.org/caseless npm http GET https://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz npm http 200 https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz npm http 200 https://registry.npmjs.org/request/-/request-2.27.0.tgz npm http 200 https://registry.npmjs.org/bl npm http GET https://registry.npmjs.org/bl/-/bl-0.9.3.tgz npm http 200 https://registry.npmjs.org/node-uuid npm http GET https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.2.tgz npm http 200 https://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz npm http 200 https://registry.npmjs.org/oauth-sign npm http GET https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz npm http GET https://registry.npmjs.org/esprima npm http 200 https://registry.npmjs.org/hawk/1.1.1 npm http GET https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz npm http 200 https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz npm http 200 https://registry.npmjs.org/http-signature npm http GET https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz npm http 200 https://registry.npmjs.org/aws-sign2 npm http GET https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz npm http 200 https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz npm http 304 https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/qs/-/qs-1.2.2.tgz npm http 200 https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz npm http 200 https://registry.npmjs.org/stringstream npm http GET https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz npm http 200 https://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz npm http 304 https://registry.npmjs.org/mime-types npm http GET https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz npm http 200 https://registry.npmjs.org/bl/-/bl-0.9.3.tgz npm http 200 https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.2.tgz npm http 200 https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz npm http 200 https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz npm http 200 https://registry.npmjs.org/minimatch npm http 200 https://registry.npmjs.org/form-data npm http GET https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz npm http 200 https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz npm http 304 https://registry.npmjs.org/graceful-fs npm http 200 https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz npm http 200 https://registry.npmjs.org/qs/-/qs-1.2.2.tgz npm http 200 https://registry.npmjs.org/once npm http 200 https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/async/-/async-0.2.10.tgz npm http 200 https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz npm http 304 https://registry.npmjs.org/core-util-is npm http 200 https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz npm http 200 https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz npm http 200 https://registry.npmjs.org/async/-/async-0.2.10.tgz npm http 304 https://registry.npmjs.org/isarray/0.0.1 npm http 200 https://registry.npmjs.org/mute-stream npm http 304 https://registry.npmjs.org/string_decoder npm http 200 https://registry.npmjs.org/chainsaw npm http GET https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz npm http GET https://registry.npmjs.org/hawk npm http GET https://registry.npmjs.org/json-stringify-safe npm http GET https://registry.npmjs.org/forever-agent npm http GET https://registry.npmjs.org/aws-sign npm http GET https://registry.npmjs.org/cookie-jar npm http GET https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz npm http GET https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz npm http 200 https://registry.npmjs.org/buffers npm http GET https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz npm http 200 https://registry.npmjs.org/wordwrap npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz npm http 200 https://registry.npmjs.org/uglify-js npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz npm http 200 https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz npm http 200 https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz npm http 200 https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz npm http 200 https://registry.npmjs.org/esprima npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz npm http 200 https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz npm http 304 https://registry.npmjs.org/json-stringify-safe npm http 304 https://registry.npmjs.org/forever-agent npm http 200 https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz npm http 200 https://registry.npmjs.org/minimist npm http GET https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz npm http 200 https://registry.npmjs.org/cookie-jar npm http GET https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz npm http GET https://registry.npmjs.org/traverse npm http 304 https://registry.npmjs.org/mime npm http 200 https://registry.npmjs.org/aws-sign npm http GET https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz npm http 200 https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz npm http 200 https://registry.npmjs.org/hawk npm http GET https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz npm http 200 https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz npm http 200 https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz npm http 200 https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz npm http 200 https://registry.npmjs.org/traverse npm http GET https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz npm http 200 https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz npm http GET https://registry.npmjs.org/combined-stream npm http GET https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/ctype/0.5.3 npm http GET https://registry.npmjs.org/assert-plus npm http GET https://registry.npmjs.org/asn1/0.1.11 npm http GET https://registry.npmjs.org/hoek npm http GET https://registry.npmjs.org/boom npm http GET https://registry.npmjs.org/cryptiles npm http GET https://registry.npmjs.org/sntp npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz npm http 200 https://registry.npmjs.org/tough-cookie npm http GET https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz npm http 200 https://registry.npmjs.org/asn1/0.1.11 npm http GET https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz npm http 200 https://registry.npmjs.org/combined-stream npm http GET https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz npm http 200 https://registry.npmjs.org/ctype/0.5.3 npm http GET https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz npm http 304 https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/async/-/async-0.9.0.tgz npm http 200 https://registry.npmjs.org/assert-plus npm http 200 https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz npm http 200 https://registry.npmjs.org/cryptiles npm http GET https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz npm http 200 https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz npm http 200 https://registry.npmjs.org/sntp npm http GET https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz npm http 200 https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz npm http 200 https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz npm http GET https://registry.npmjs.org/wordwrap npm http 200 https://registry.npmjs.org/async/-/async-0.9.0.tgz npm http GET https://registry.npmjs.org/source-map npm http 200 https://registry.npmjs.org/boom npm http GET https://registry.npmjs.org/boom/-/boom-0.4.2.tgz npm http 200 https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz npm http 200 https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz npm http 200 https://registry.npmjs.org/boom/-/boom-0.4.2.tgz npm http GET https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/readable-stream npm WARN optional dep failed, continuing http-signature@0.10.1 npm http GET https://registry.npmjs.org/punycode npm http GET https://registry.npmjs.org/delayed-stream/0.0.5 npm http 304 https://registry.npmjs.org/wordwrap npm http 304 https://registry.npmjs.org/mime npm http 200 https://registry.npmjs.org/hoek npm http GET https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz npm http 200 https://registry.npmjs.org/delayed-stream/0.0.5 npm http GET https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz npm http 200 https://registry.npmjs.org/punycode npm http GET https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz npm http 304 https://registry.npmjs.org/readable-stream npm http GET https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz npm http 200 https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz npm http 200 https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz npm http 200 https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz npm http 200 https://registry.npmjs.org/source-map npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz npm http 200 https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz npm http GET https://registry.npmjs.org/core-util-is npm http GET https://registry.npmjs.org/isarray/0.0.1 npm http GET https://registry.npmjs.org/inherits npm http GET https://registry.npmjs.org/string_decoder npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz npm http GET https://registry.npmjs.org/amdefine npm http 304 https://registry.npmjs.org/isarray/0.0.1 npm http 304 https://registry.npmjs.org/inherits npm http 304 https://registry.npmjs.org/core-util-is npm http 304 https://registry.npmjs.org/string_decoder npm http 200 https://registry.npmjs.org/amdefine npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /home/xwh/BLOG_DIRECOTRY/npm-debug.log npm ERR! not ok code 0新建一个express3的项目nodejs-bower
express -e nodejs-bower
create : nodejs-bower create : nodejs-bower/package.json create : nodejs-bower/app.js create : nodejs-bower/public create : nodejs-bower/public/images create : nodejs-bower/public/stylesheets create : nodejs-bower/public/stylesheets/style.css create : nodejs-bower/routes create : nodejs-bower/routes/index.js create : nodejs-bower/routes/user.js create : nodejs-bower/views create : nodejs-bower/views/index.ejs create : nodejs-bower/views/error.ejs create : nodejs-bower/bin create : nodejs-bower/bin/www create : nodejs-bower/public/javascripts install dependencies: $ cd nodejs-bower && npm install run the app: $ DEBUG=my-application ./bin/www
cd nodejs-bower/ && sudo npm install
npm WARN package.json application-name@0.0.1 No repository field. npm WARN package.json application-name@0.0.1 No readme data. npm http GET https://registry.npmjs.org/morgan npm http GET https://registry.npmjs.org/static-favicon npm http GET https://registry.npmjs.org/cookie-parser npm http GET https://registry.npmjs.org/ejs npm http GET https://registry.npmjs.org/debug npm http GET https://registry.npmjs.org/body-parser npm http GET https://registry.npmjs.org/express npm http 304 https://registry.npmjs.org/static-favicon npm http 304 https://registry.npmjs.org/morgan npm WARN deprecated static-favicon@1.0.2: use serve-favicon module npm http 304 https://registry.npmjs.org/body-parser npm http 304 https://registry.npmjs.org/debug npm http 304 https://registry.npmjs.org/express npm http 304 https://registry.npmjs.org/ejs npm http 304 https://registry.npmjs.org/cookie-parser npm http GET https://registry.npmjs.org/bytes/0.3.0 npm http GET https://registry.npmjs.org/cookie/0.1.0 npm http GET https://registry.npmjs.org/cookie-signature/1.0.3 npm http GET https://registry.npmjs.org/type-is npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/raw-body npm http GET https://registry.npmjs.org/connect/2.12.0 npm http GET https://registry.npmjs.org/commander/1.3.2 npm http GET https://registry.npmjs.org/mkdirp/0.3.5 npm http GET https://registry.npmjs.org/range-parser/0.0.4 npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1 npm http GET https://registry.npmjs.org/fresh/0.2.0 npm http GET https://registry.npmjs.org/send/0.1.4 npm http GET https://registry.npmjs.org/methods/0.1.0 npm http GET https://registry.npmjs.org/cookie-signature/1.0.1 npm http GET https://registry.npmjs.org/merge-descriptors/0.0.1 npm http 304 https://registry.npmjs.org/cookie/0.1.0 npm http 304 https://registry.npmjs.org/qs npm http 304 https://registry.npmjs.org/bytes/0.3.0 npm http 304 https://registry.npmjs.org/cookie-signature/1.0.3 npm http 304 https://registry.npmjs.org/raw-body npm http 304 https://registry.npmjs.org/connect/2.12.0 npm http 304 https://registry.npmjs.org/commander/1.3.2 npm http 304 https://registry.npmjs.org/range-parser/0.0.4 npm WARN package.json range-parser@0.0.4 No repository field. npm http 304 https://registry.npmjs.org/type-is npm http GET https://registry.npmjs.org/bytes npm http GET https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/string_decoder npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1 npm http 304 https://registry.npmjs.org/fresh/0.2.0 npm http 304 https://registry.npmjs.org/send/0.1.4 npm http 304 https://registry.npmjs.org/mkdirp/0.3.5 npm http 304 https://registry.npmjs.org/methods/0.1.0 npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1 npm WARN package.json cookie-signature@1.0.1 No repository field. npm http 304 https://registry.npmjs.org/bytes npm http 304 https://registry.npmjs.org/mime npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.1 npm http GET https://registry.npmjs.org/keypress npm http GET https://registry.npmjs.org/batch/0.5.0 npm http GET https://registry.npmjs.org/qs/0.6.6 npm http GET https://registry.npmjs.org/bytes/0.2.1 npm http GET https://registry.npmjs.org/uid2/0.0.3 npm http GET https://registry.npmjs.org/pause/0.0.1 npm http GET https://registry.npmjs.org/raw-body/1.1.2 npm http GET https://registry.npmjs.org/negotiator/0.3.0 npm http GET https://registry.npmjs.org/multiparty/2.2.0 npm http 304 https://registry.npmjs.org/string_decoder npm http 304 https://registry.npmjs.org/uid2/0.0.3 npm WARN package.json uid2@0.0.3 No repository field. npm WARN package.json uid2@0.0.3 No readme data. npm http 304 https://registry.npmjs.org/pause/0.0.1 npm WARN package.json pause@0.0.1 No repository field. npm http 304 https://registry.npmjs.org/raw-body/1.1.2 npm http 304 https://registry.npmjs.org/bytes/0.2.1 npm http 304 https://registry.npmjs.org/qs/0.6.6 npm WARN package.json bytes@0.2.1 No repository field. npm http 304 https://registry.npmjs.org/batch/0.5.0 npm WARN package.json batch@0.5.0 No repository field. npm http 304 https://registry.npmjs.org/keypress npm http 304 https://registry.npmjs.org/negotiator/0.3.0 npm http 304 https://registry.npmjs.org/multiparty/2.2.0 npm http GET https://registry.npmjs.org/readable-stream npm http GET https://registry.npmjs.org/stream-counter npm http 304 https://registry.npmjs.org/stream-counter npm http 304 https://registry.npmjs.org/readable-stream npm http GET https://registry.npmjs.org/core-util-is npm http GET https://registry.npmjs.org/isarray/0.0.1 npm http GET https://registry.npmjs.org/inherits npm http 304 https://registry.npmjs.org/core-util-is npm http 304 https://registry.npmjs.org/inherits npm http 304 https://registry.npmjs.org/isarray/0.0.1 debug@0.7.4 node_modules/debug static-favicon@1.0.2 node_modules/static-favicon ejs@0.8.8 node_modules/ejs morgan@1.0.1 node_modules/morgan └── bytes@0.3.0 cookie-parser@1.0.1 node_modules/cookie-parser ├── cookie-signature@1.0.3 └── cookie@0.1.0 body-parser@1.0.2 node_modules/body-parser ├── qs@0.6.6 ├── type-is@1.1.0 (mime@1.2.11) └── raw-body@1.1.7 (string_decoder@0.10.31, bytes@1.0.0) express@3.4.8 node_modules/express ├── methods@0.1.0 ├── merge-descriptors@0.0.1 ├── range-parser@0.0.4 ├── cookie-signature@1.0.1 ├── fresh@0.2.0 ├── buffer-crc32@0.2.1 ├── cookie@0.1.0 ├── mkdirp@0.3.5 ├── send@0.1.4 (mime@1.2.11) ├── commander@1.3.2 (keypress@0.1.0) └── connect@2.12.0 (uid2@0.0.3, pause@0.0.1, qs@0.6.6, bytes@0.2.1, raw-body@1.1.2, batch@0.5.0, negotiator@0.3.0, multiparty@2.2.0)xwh@xwh:~/BLOG_DIRECOTRY/nodejs-bower$
相关文章推荐
- Android开发实战记录(一)-Android开发环境搭建之Windows-正式配置前的准备
- (android 地图实战开发)1开发环境下配置google地图功能步骤
- Android开发准备工作简单啦!---Android开发环境搭建及配置
- Node学习笔记——eclipse配置nodejs开发环境
- [原]阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)
- MAC OS 下配置NODEJS 开发环境及调试
- 实战准标准库Boost —— (1)配置Boost的VS2008开发环境
- 配置PSP开发环境的准备工作
- NodeJS开发环境配置
- Android开发环境配置以及开发相关资料和工具准备
- [Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置
- 实战准标准库Boost —— (1)配置Boost的VS2008开发环境
- java实战(七)--------myeclipse构建Spring的开发环境 spring框架配置
- nodejs学习日志1--开发环境安装配置
- OpenGL开发前的准备——开发环境的配置
- java实战(七)--------myeclipse构建Spring的开发环境 spring框架配置
- nodejs中文教程-windows下nodejs开发环境的安装与配置
- Android开发实战记录(二)-Android开发环境搭建之Windows-正式配置环境
- Android开发准备工作简单啦!---Android开发环境搭建及配置
- WIN7 配置NODEJS 开发环境