因为是局部安装的Express,所以它的一些中间件引入的时候需要输入全路径 例 var express = require(“express”); //优雅的引入方式 var bodyparser = require("./node_modules/express/node_modules/body-parser") //比较笨的引入方式
请问这种局部模块的局部模块有有没有比较优雅的引入方式呢?
----------------------------------------追加------------------------------------------------ 先说说我创建项目的主要步骤吧 mkdir blog && cd blog npm install express --save touch app.js
因为看见node_modules/express下的package.json文件里 有 body-parser 那么想当然的 就去了node_modules/express下 npm install了 以为在app.js引入时 有类似这样的引入方式 require(“express”) require(“express.body-parser”) 想当然的以为 我既然已经补全了 这个局部express的中间件 那么自然可以通过express来定位到它的中间件,不知道是不是我想太多了 毕竟官方剥离了body-parser
你还用的express 3.0吧。不需要require(‘body-parser’)。是这样用的: app.use(express.bodyParser()); 你看的教程应该是express4以上。body-parser等中间件从express里面剥离了,需要npm install body-parser, 然后直接require(‘body-parser’)。
@eeandrew 用的是expresss4.10 不过用局部安装方式 自己用app.js 而不是用express创建的项目