2016-12-10 9 views
0

私はnode.jsのnoobyですそれは些細な質問かもしれません。 私はserver.js持っている:node.jsから既存のhtmlにデータを追加します

var express = require('express'); 
var cors = require('cors'); 
var app = express(); 
var path = require('path'); 
var request = require('request'); 
var cheerio = require("cheerio"); 

request({ 
    uri: "http://ptnpnh.ua", 
}, function(error, response, body) { 
    var $ = cheerio.load(body); 

    $("[data-tab=toDay] .weatherNow .temp .temperature_value").each(function() { 
    var link = $(this); 
    var text = link.text(); 
    console.log(text); 
    }); 
}); 

app.use(cors()); 

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

app.get('/', function(req, res, next) { 
     res.sendFile(path.join(__dirname + '/index.html')); 
    app.use(express.static('public')); 
    app.use("/css", express.static(__dirname + '/css')); 
    app.use("/color", express.static(__dirname + '/color')); 
    app.use("/fontaw", express.static(__dirname + '/font-awesome')); 
    app.use("/fonts", express.static(__dirname + '/fonts')); 
    app.use("/img", express.static(__dirname + '/img')); 
    app.use("/js", express.static(__dirname + '/js')); 
    app.use("/node", express.static(__dirname + '/node_modules')); 
}); 

app.post('/', function(req, res, next) { 
}); 
app.listen(8080); 

どのように私は、既存の「/index.htmlが」の(例えば、ID =「appendedText」付き)DOM要素の「テキスト」の文字列を入れるためにこのコードを変更することができますか?

答えて

0

あなたはそれを得ただけで、ほぼ右

var express = require('express'); 
var cors = require('cors'); 
var app = express(); 
var path = require('path'); 
var request = require('request'); 
var cheerio = require("cheerio"); 
var fs = require('fs') // notice this 

request({ 
    uri: "http://ptnpnh.ua", 
}, function(error, response, body) { 
    var $ = cheerio.load(body); 

    $("[data-tab=toDay] .weatherNow .temp .temperature_value").each(function() { 
    var link = $(this); 
    var text = link.text(); 
    console.log(text); 
    }); 
}); 

app.use(cors()); // isnt this the same as below: 

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

// you put it here, not assign it every request to/
app.use(express.static('public')); 
app.use("/css", express.static(__dirname + '/css')); 
app.use("/color", express.static(__dirname + '/color')); 
app.use("/fontaw", express.static(__dirname + '/font-awesome')); 
app.use("/fonts", express.static(__dirname + '/fonts')); 
app.use("/img", express.static(__dirname + '/img')); 
app.use("/js", express.static(__dirname + '/js')); 
app.use("/node", express.static(__dirname + '/node_modules')); 


app.get('/', function(req, res, next) { 

    //res.sendFile(__dirname + '/index.html'); // just send file 

    fs.readFile(__dirname + '/index.html'), 'utf8', function (err,data) { 
     if (err) { 
      return console.log(err); 
     } 
     //console.log(data); 
     var $ = cheerio.load('<h2 class="title">Hello world</h2>') 
     $('h2.title').text('Hello there!') 
     $('h2').addClass('welcome')  

     res.set('Content-Type', 'text/html; charset=utf-8'); 
     res.send($.html()); 
    }); 
}); 

app.post('/', function(req, res, next) { 

}); 
app.listen(8080); 
関連する問題