我正在尝试运行我的node
应用。但我收到一个错误,我无法理解。请任何人帮我理解这个?
这是我的代码:
var express = require("express"),
app = express(),
path = require("path");
app.get("/", function( req, res ) {
res.sendfile( path.join(__dirname + '/index.html'));
});
var adminRouter = express.Router();
adminRouter.get('/', function(req, res) {
res.send('I am the dashboard!');
});
app.use("/admin", adminRouter);
app.listen(process.env.PORT, process.env.IP);
console.log("basic app listeners!");
我得到的错误是:
adminRouter.get('/', function(req, res) {
^
TypeError: Cannot read property 'get' of undefined
at Object.<anonymous> (/home/ubuntu/workspace/server.js:16:12)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:990:3
任何人都可以帮助我吗?我正在cloud9
中运行我的应用。
提前感谢!!
答案 0 :(得分:3)
您的快递版本低于+4,可能是版本3.尝试
npm uninstall express --save
然后重新安装。
adminRouter.get('/', function(req, res) {
res.send('I am the dashboard!');
});
也可以这样试试。
adminRouter.route('/').get(function(req,res){
res.json({'hello there from main route!'});
});
答案 1 :(得分:2)
实际上这是快速版本问题。
版本 4.x 支持 express.Router();
,默认情况下云9 支持 3.x
更改你的package.json
“express”:“^ 4.15.2”,
并删除node_module文件夹 然后运行
npm install