2016-08-04 5 views
2

nodejsにHTMLファイルを書き込もうとしています。私は、すべてのDOMメソッドを使用して要素を作成する必要があります。私は次のように試みたが、エラーdocument is undefinedを投げた。私が何をしているのか、これを行う正しい方法は何かを教えてください。ありがとうHTML DOMメソッドを使用してHTMLファイルを作成し、nodejsのHTMLファイルに書き込む

var fs  = require('fs'); 

var myDiv= document.createElement("div"); 
myDiv.setAttribute("id","myDiv");' 

var data = myDiv.outerHTML; 

var writerStream = fs.createWriteStream('abcd.html'); 
writerStream.write(data,'UTF8'); 
writerStream.end(); 
writerStream.on('finish', function() { console.log("Write completed."); }); 
writerStream.on('error', function(err){ console.log(err.stack); }); 
console.log("Program Ended"); 
+2

はここを見て:http://stackoverflow.com/questions/32126003/node-js-document -is-not-defined –

+0

ええ、私はそれを調べます。それは問題を指摘している。これを達成する方法を教えていない –

答えて

1

この問題は利用可能なウィンドウオブジェクトがないためです。ドキュメントオブジェクトがウィンドウから来ていることを忘れないでください ドキュメントを書くとき、実際にはwindow.documentです。 しかしnodejsはサーバ側で動作するため、ウィンドウオブジェクトを提供しません。

このようにするには、jsdomというモジュールを使用できます。ここjsdomを通過します:https://www.npmjs.com/package/node-jsdom

jsdomをインストールして、何かしてみてください:そのnodejsで定義されていない理由のために

var jsdom = require('jsdom'); 
var fs  = require('fs'); 
var http = require("http"); 
http.createServer(function (request, response) { 
    response.writeHead(200, {'Content-Type': 'text/plain'}); 
    response.end('Hello World\n'); 
}).listen(8081); 
console.log('Server running at http://127.0.0.1:8081/'); 

jsdom.env({ 
    html: 'http://127.0.0.1:8081/', 
    src: [], 
    done: function(errors, window) { 

    var document = window.document; 
    var myDiv= document.createElement("div"); 
    myDiv.setAttribute("id","myDiv");' 

    var data = myDiv.outerHTML; 

    var writerStream = fs.createWriteStream('abcd.html'); 
    writerStream.write(data,'UTF8'); 
    writerStream.end(); 
    writerStream.on('finish', function() { console.log("Write completed."); }); 
    writerStream.on('error', function(err){ console.log(err.stack); }); 
    console.log("Program Ended"); 

    } 
}); 
+0

jsdomのインストール方法 –

+0

npm install node-jsdom – Tuhin

+0

ありがとうございました、それは働いていました... –

関連する問題