How can I create a web service endpoint for a locally served JSON file

前端 未结 1 495
刺人心
刺人心 2021-01-16 06:33

I\'m working through the React.js tutorial found here: http://facebook.github.io/react/docs/tutorial.html

When adding comments to the page using AJAX and the post me

相关标签:
1条回答
  • 2021-01-16 07:13

    If you look at reactjs/react-tutorial on github, there's an example server using node.js:

    git clone git@github.com:reactjs/react-tutorial.git && cd react-tutorial
    npm install
    node server.js
    

    Here's the server.js file.

    var fs = require('fs');
    var path = require('path');
    var express = require('express');
    var bodyParser = require('body-parser');
    var app = express();
    
    var comments = JSON.parse(fs.readFileSync('_comments.json'));
    
    app.use('/', express.static(path.join(__dirname, 'public')));
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({extended: true}));
    
    app.get('/comments.json', function(req, res) {
      res.setHeader('Content-Type', 'application/json');
      res.send(JSON.stringify(comments));
    });
    
    app.post('/comments.json', function(req, res) {
      comments.push(req.body);
      res.setHeader('Content-Type', 'application/json');
      res.send(JSON.stringify(comments));
    });
    
    app.listen(3000);
    
    console.log('Server started: http://localhost:3000/');
    
    /**
     * This file provided by Facebook is for non-commercial testing and evaluation purposes only.
     * Facebook reserves all rights not expressly granted.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
     * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
     * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     */
    
    0 讨论(0)
提交回复
热议问题