——
gentoo ~/code/nodejs $ npm install express --save
express@4.12.3 node_modules/express
├── merge-descriptors@1.0.0
├── utils-merge@1.0.0
├── cookie-signature@1.0.6
├── methods@1.1.1
├── cookie@0.1.2
├── fresh@0.2.4
├── escape-html@1.0.1
├── range-parser@1.0.2
├── content-type@1.0.1
├── finalhandler@0.3.4
├── vary@1.0.0
├── parseurl@1.3.0
├── serve-static@1.9.2
├── content-disposition@0.5.0
├── path-to-regexp@0.1.3
├── depd@1.0.0
├── qs@2.4.1
├── on-finished@2.2.0 (ee-first@1.1.0)
├── debug@2.1.3 (ms@0.7.0)
├── etag@1.5.1 (crc@3.2.1)
├── send@0.12.2 (destroy@1.0.3, ms@0.7.0, mime@1.3.4)
├── type-is@1.6.1 (media-typer@0.3.0, mime-types@2.0.10)
├── accepts@1.2.5 (negotiator@0.5.1, mime-types@2.0.10)
└── proxy-addr@1.0.7 (forwarded@0.1.0, ipaddr.js@0.1.9)
测试 express-generator 的 子目录 : ~/code/nodejs/test
gentoo ~/code/nodejs $ mkdir test && cd test
gentoo ~/code/nodejs/test $ npm install express-generator --save
npm WARN prefer global express-generator@4.12.1 should be installed with -g
express-generator@4.12.1 ../node_modules/express-generator
├── sorted-object@1.0.0
├── commander@2.6.0
└── mkdirp@0.5.0 (minimist@0.0.8)
express-generator 是安装在 nodejs 开发 主目录 下的 ~/code/nodejs/node_modules 目录:
gentoo /home/i/code/nodejs
$ tree -L 2 ~/code/nodejs/node_modules/
/home/i/code/nodejs/node_modules/
├── express
│ ├── History.md
│ ├── index.js
│ ├── lib
│ ├── LICENSE
│ ├── node_modules
│ ├── package.json
│ └── Readme.md
└── express-generator
├── bin
├── LICENSE
├── node_modules
├── package.json
├── README.md
└── templates
但发现在 主目录 和 子目录 下的 node_modules 都有安装 express
主目录 下的 express 目录树,比 子目录 多安装了 debug 包:
gentoo /home/i/code/nodejs
$ tree -L 2 node_modules/express
node_modules/express
├── History.md
├── index.js
├── lib
│ ├── application.js
│ ├── express.js
│ ├── middleware
│ ├── request.js
│ ├── response.js
│ ├── router
│ ├── utils.js
│ └── view.js
├── LICENSE
├── node_modules
│ ├── accepts
│ ├── content-disposition
│ ├── content-type
│ ├── cookie
│ ├── cookie-signature
│ ├── debug <--
│ ├── depd
│ ├── escape-html
│ ├── etag
│ ├── finalhandler
│ ├── fresh
│ ├── merge-descriptors
│ ├── methods
│ ├── on-finished
│ ├── parseurl
│ ├── path-to-regexp
│ ├── proxy-addr
│ ├── qs
│ ├── range-parser
│ ├── send
│ ├── serve-static
│ ├── type-is
│ ├── utils-merge
│ └── vary
├── package.json
└── Readme.md
28 directories, 11 files
gentoo /home/i/code/nodejs/test
$ tree -L 2 node_modules/express/
node_modules/express/
├── History.md
├── index.js
├── lib
│ ├── application.js
│ ├── express.js
│ ├── middleware
│ ├── request.js
│ ├── response.js
│ ├── router
│ ├── utils.js
│ └── view.js
├── LICENSE
├── node_modules
│ ├── accepts
│ ├── content-disposition
│ ├── content-type
│ ├── cookie
│ ├── cookie-signature
│ ├── depd
│ ├── escape-html
│ ├── etag
│ ├── finalhandler
│ ├── fresh
│ ├── merge-descriptors
│ ├── methods
│ ├── on-finished
│ ├── parseurl
│ ├── path-to-regexp
│ ├── proxy-addr
│ ├── qs
│ ├── range-parser
│ ├── send
│ ├── serve-static
│ ├── type-is
│ ├── utils-merge
│ └── vary
├── package.json
└── Readme.md
27 directories, 11 files
为什么 子目录 不能复用 主目录 的 express 还要重复安装呢?
——
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.