2016-08-05 71 views
0

我试图使用反应入门工具包。节点server.js不工作ror反应入门工具包

几个小时前我能够在本地服务器上运行我的html代码。我通过“node server.js”启动了服务器。但现在我无法运行我的应用程序。

当我尝试运行它时,我会显示一个网页,例如this。当我运行“node server.js”时,出现像this这样的错误。

我知道这意味着端口3000已经在使用,但事情并不工作,当我第一次启动它也。所有这些都在几个小时前工作。

server.js

var fs = require('fs'); 
var path = require('path'); 
var express = require('express'); 
var bodyParser = require('body-parser'); 
var app = express(); 

var COMMENTS_FILE = path.join(__dirname, 'comments.json'); 

app.set('port', (process.env.PORT || 3000)); 

app.use('/', express.static(path.join(__dirname, 'public'))); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ 
    extended: true 
})); 

// Additional middleware which will set headers that we need on each request. 
app.use(function(req, res, next) { 
    // Set permissive CORS header - this allows this server to be used only as 
    // an API server in conjunction with something like webpack-dev-server. 
    res.setHeader('Access-Control-Allow-Origin', '*'); 

    // Disable caching so we'll always get the latest comments. 
    res.setHeader('Cache-Control', 'no-cache'); 
    next(); 
}); 

app.get('/api/comments', function(req, res) { 
    fs.readFile(COMMENTS_FILE, function(err, data) { 
    if (err) { 
     console.error(err); 
     process.exit(1); 
    } 
    res.json(JSON.parse(data)); 
    }); 
}); 

app.post('/api/comments', function(req, res) { 
    fs.readFile(COMMENTS_FILE, function(err, data) { 
    if (err) { 
     console.error(err); 
     process.exit(1); 
    } 
    var comments = JSON.parse(data); 
    // NOTE: In a real implementation, we would likely rely on a database or 
    // some other approach (e.g. UUIDs) to ensure a globally unique id. We'll 
    // treat Date.now() as unique-enough for our purposes. 
    var newComment = { 
     id: Date.now(), 
     author: req.body.author, 
     text: req.body.text, 
    }; 
    comments.push(newComment); 
    fs.writeFile(COMMENTS_FILE, JSON.stringify(comments, null, 4), function(err) { 
     if (err) { 
     console.error(err); 
     process.exit(1); 
     } 
     res.json(comments); 
    }); 
    }); 
}); 


app.listen(app.get('port'), function() { 
    console.log('Server started: http://localhost:' + app.get('port') + '/'); 
}); 

这里是hello.html的

<!-- index.html --> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <title>React Tutorial</title> 
    <script src="https://npmcdn.com/[email protected]/dist/react.js"></script> 
    <script src="https://npmcdn.com/[email protected]/dist/react-dom.js"></script> 
    <script src="https://npmcdn.com/[email protected]/browser.min.js"></script> 
    <script src="https://npmcdn.com/[email protected]/dist/jquery.min.js"></script> 
    <script src="https://npmcdn.com/[email protected]/dist/remarkable.min.js"></script> 
</head> 
<body> 
<div id="content"></div> 

<script type="text/babel"> 
    // tutorial1.js 
    var CommentBox = React.createClass({ 
    render: function() { 
     return (
     <div className="commentBox"> 
      Hello, world! I am a CommentBox. 
     </div> 
    ); 
    } 
    }); 
    ReactDOM.render(
    <CommentBox />, 
    document.getElementById('content') 
); 
    // To get started with this tutorial running your own code, simply remove 
    // the script tag loading scripts/example.js and start writing code here. 
</script> 
</body> 
</html> 
+0

你可以添加你的代码吗?没有这个,我们无法帮助你。 –

+0

我编辑过。敬请期待。 – ApurvG

回答

0

检查您的计算机上的过程中,因为有一个它使用的端口3000

你需要杀死它重新启动您的应用程序之前,或更改您的服务器的端口(例如:app.set('port', (process.env.PORT || 3010));