javascript - 对象没有方法使用

标签 javascript node.js

我正在尝试关注 this教程,关于在 NodeJS 中托管 Cocos2d,但我收到此错误消息:

Object #<Server> has no method 'use'
    at Object.<anonymous>

在这一行中:

server.use('/Art', express.static(__dirname + '/Art') );

这是我的代码:

var express = require('express'),
    http = require('http');

var app = express();
app.use(express.bodyParser());
var server = http.createServer(app);

server.use('/Art', express.static(__dirname + '/Art') );
server.use('/Platform', express.static(__dirname + '/Platform') );
server.use('/Sounds', express.static(__dirname + '/Sounds') );
server.use('/Src', express.static(__dirname + '/Src') );

server.get('/', function(req,res){
    res.sendfile('index.html');
    console.log('Sent index.html');
});

server.get('/api/hello', function(req,res){
   res.send('Hello Cruel World');
});
server.listen(process.env.PORT || 3000);

最佳答案

错误消息告诉你发生了什么:变量server引用的是Node的Web服务器对象,而不是express应用程序。因此您的代码应更正为:

app.use('/Art', express.static(__dirname + '/Art') );
app.use('/Platform', express.static(__dirname + '/Platform') );
app.use('/Sounds', express.static(__dirname + '/Sounds') );
app.use('/Src', express.static(__dirname + '/Src') );

app.get('/', function(req,res){
    res.sendfile('index.html');
    console.log('Sent index.html');
});

app.get('/api/hello', function(req,res){
    res.send('Hello Cruel World');
});

http.createServer(app).listen(process.env.PORT || 3000);

关于javascript - 对象没有方法使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23024884/

相关文章:

javascript - 引用错误 : exports is not defined in ES module scope

javascript - 如何在我的 HTML 页面上打印带有颜色语法高亮显示的 HTML 代码?

javascript - 链接指向这个页面吗?

javascript - 在 node.js 中使用数据库请求的结果

javascript - 尝试让 Jade 重定向页面

javascript - Node 中的 Ajax 请求 - 避免页面重新加载

javascript - 表没有列。 Json数据

javascript - 你如何通过在 state.go 的末尾连接一个 ID 来改变状态?

javascript - MongoDB - 当尝试根据查询字符串查找文档时,如何将 .or 转换为等效聚合?

node.js - 如何在 Windows 中捕获 Electron 应用程序的标准输出流?