nodejs--underscore模块的使用

来源:互联网 发布:冒险岛079数据库 编辑:程序博客网 时间:2024/05/15 12:10



Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>npm

Usage: npm <command>

where <command> is one of:
    add-user, adduser, apihelp, author, bin, bugs, c, cache,
    completion, config, ddp, dedupe, deprecate, docs, edit,
    explore, faq, find, find-dupes, get, help, help-search,
    home, i, info, init, install, isntall, issues, la, link,
    list, ll, ln, login, ls, outdated, owner, pack, prefix,
    prune, publish, r, rb, rebuild, remove, repo, restart, rm,
    root, run-script, s, se, search, set, show, shrinkwrap,
    star, stars, start, stop, submodule, tag, test, tst, un,
    uninstall, unlink, unpublish, unstar, up, update, v,
    version, view, whoami

npm <cmd> -h     quick help on <cmd>
npm -l           display full usage info
npm faq          commonly asked questions
npm help <term>  search for help on <term>
npm help npm     involved overview

Specify configs in the ini-formatted file:
    C:\Users\Administrator\.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config

npm@1.3.21 D:\nodejs\node_modules\npm

C:\Users\Administrator>npm install underscore
npm http GET https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz
underscore@1.5.2 node_modules\underscore
C:\Users\Administrator>


编写foo.js文件:
var _ = require('underscore');
_.each([1, 2, 3], function(num){
  console.log("underscore.js says " + num);
});

运行:
D:\nodejs\test>node foo.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'underscore'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (D:\nodejs\test\foo.js:1:69)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

D:\nodejs\test>c:

C:\Users\Administrator>d:

D:\nodejs\test>cd D:\nodejs

D:\nodejs>node foo.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'underscore'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (D:\nodejs\foo.js:1:69)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

D:\nodejs>

出错,还是不行。可能将模块安装错地方了,重新安装如下:

D:\nodejs>c:

C:\Users\Administrator>d:

D:\nodejs>cd D:\nodejs

D:\nodejs>npm install -g underscore
npm http GET https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore
underscore@1.5.2 C:\Users\Administrator\AppData\Roaming\npm\node_modules\underscore

D:\nodejs>node foo.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'underscore'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (D:\nodejs\foo.js:1:71)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

D:\nodejs>
还是不行,想了想,肯定是模块没有安装成功,或者安装到了其他的地方了。所以任然不死心的继续:
D:\nodejs>npm install underscore
npm http GET https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore
underscore@1.5.2 node_modules\underscore

D:\nodejs>node foo.js
underscore.js says 1
underscore.js says 2
underscore.js says 3

D:\nodejs>
居然成功了。。。但是这是什么原因呢。首先,每次安装的时候返回的数字都不同,如200,304。这些表示什么来的?好百度一下。
一些常见的状态码为:
    200 – 服务器成功返回网页
    304(未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应(称为 If-Modified-Since HTTP 标头)。服务器可以告诉 Googlebot 自从上次抓取后网页没有变更,进而节省带宽和开销。


看到上面的信息,就是说。我第一次的时候已经将underscore下载到本地了,但是为什么一直说找不到module呢?这是个问题。


使用npm命令工具来搜索Node.js模块:

D:\nodejs>npm search irc
npm WARN Building the local index for the first time, please be patient
npm http GET https://registry.npmjs.org/-/all


继续查看underscore的文档和bugs以及源码:

C:\Users\Administrator>npm docs underscore
npm http GET https://registry.npmjs.org/underscore/latest
npm http 200 https://registry.npmjs.org/underscore/latest

C:\Users\Administrator>npm bugs underscore

C:\Users\Administrator>npm edit underscore
underscore@1.5.2 C:\Users\Administrator\node_modules\underscore

C:\Users\Administrator>npm edit underscore
underscore@1.5.2 C:\Users\Administrator\node_modules\underscore

C:\Users\Administrator>npm edit express
npm ERR! Error: ENOENT, lstat 'C:\Users\Administrator\node_modules\express'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/isaacs/npm/issues>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "D:\\nodejs\\\\node.exe" "D:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "edit" "express"
npm ERR! cwd C:\Users\Administrator
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! path C:\Users\Administrator\node_modules\express
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\Administrator\npm-debug.log
npm ERR! not ok code 0

C:\Users\Administrator>npm edit C:\Users\Administrator\node_modules\express
npm ERR! Error: ENOENT, lstat 'C:\Users\Administrator\node_modules\express'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/isaacs/npm/issues>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "D:\\nodejs\\\\node.exe" "D:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "edit" "C:\\Users\\Administrator\\node
npm ERR! cwd C:\Users\Administrator
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! path C:\Users\Administrator\node_modules\express
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\Administrator\npm-debug.log
npm ERR! not ok code 0

C:\Users\Administrator>
尼玛的,又是一大堆错误,这个真心不懂了。


使用package.js指定依赖关系==-

C:\Users\Administrator>d:

D:\>cd nodejs

D:\nodejs>npm install
npm WARN package.json example02@0.0.1 No description
npm WARN package.json example02@0.0.1 No repository field.
npm WARN package.json example02@0.0.1 No README data
npm http GET https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.2.4.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.2.4.tgz
npm WARN prefer global npm@1.3.21 should be installed with -g
underscore@1.2.4 node_modules\underscore

D:\nodejs>


以下是一些测试,大家可以不理。
D:\>cd nodejs

D:\nodejs>npm install
npm WARN package.json example02@0.0.1 No description
npm WARN package.json example02@0.0.1 No repository field.
npm WARN package.json example02@0.0.1 No README data
npm http GET https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.2.4.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.2.4.tgz
npm WARN prefer global npm@1.3.21 should be installed with -g
underscore@1.2.4 node_modules\underscore

D:\nodejs>npm install coffee-script
npm WARN package.json example02@0.0.1 No description
npm WARN package.json example02@0.0.1 No repository field.
npm WARN package.json example02@0.0.1 No README data
npm http GET https://registry.npmjs.org/coffee-script
npm http 200 https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz
coffee-script@1.6.3 node_modules\coffee-script

D:\nodejs>npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 200 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http GET https://registry.npmjs.org/mkdirp/0.3.5
npm http GET https://registry.npmjs.org/commander/1.3.2
npm http GET https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/connect/2.12.0
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/methods/0.1.0
npm http GET https://registry.npmjs.org/merge-descriptors/0.0.1
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm http 304 https://registry.npmjs.org/fresh/0.2.0
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/mkdirp/0.3.5
npm http 304 https://registry.npmjs.org/commander/1.3.2
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/methods/0.1.0
npm http 304 https://registry.npmjs.org/send/0.1.4
npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.1
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 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 200 https://registry.npmjs.org/connect/-/connect-2.12.0.tgz
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/uid2/0.0.3
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/qs/0.6.6
npm http GET https://registry.npmjs.org/batch/0.5.0
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/keypress
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/pause/0.0.1
npm http 304 https://registry.npmjs.org/qs/0.6.6
npm http 304 https://registry.npmjs.org/bytes/0.2.1
npm http 304 https://registry.npmjs.org/uid2/0.0.3
npm http 304 https://registry.npmjs.org/raw-body/1.1.2
npm http 304 https://registry.npmjs.org/batch/0.5.0
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/stream-counter
npm http GET https://registry.npmjs.org/readable-stream
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/debuglog/0.0.2
npm http 304 https://registry.npmjs.org/debuglog/0.0.2
npm http 304 https://registry.npmjs.org/core-util-is
C:\Users\Administrator\AppData\Roaming\npm\express -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\express\bin\express
express@3.4.7 C:\Users\Administrator\AppData\Roaming\npm\node_modules\express
├── methods@0.1.0
├── cookie-signature@1.0.1
├── merge-descriptors@0.0.1
├── range-parser@0.0.4
├── fresh@0.2.0
├── debug@0.7.4
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── mkdirp@0.3.5
├── commander@1.3.2 (keypress@0.1.0)
├── send@0.1.4 (mime@1.2.11)
└── connect@2.12.0 (uid2@0.0.3, qs@0.6.6, pause@0.0.1, bytes@0.2.1, batch@0.5.0, raw-body@1.1.2, negotiator@0.3.0, multiparty@2.2.0)

D:\nodejs>npm install
npm WARN package.json example02@0.0.1 No description
npm WARN package.json example02@0.0.1 No repository field.
npm WARN package.json example02@0.0.1 No README data
npm WARN prefer global npm@1.3.21 should be installed with -g

D:\nodejs>npm install -g
npm http GET https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore
example02@0.0.1 C:\Users\Administrator\AppData\Roaming\npm\node_modules\example02
└── underscore@1.2.4

D:\nodejs>









0 0