2017-05-24 12 views
0

nodejを学習しようとしていますが、server.jsファイルのrequire文を使ってDOMオブジェクトを操作できません。しかし、それはそれなしで正常に動作します。ブラウザの段落をクリックすると変更されません。なぜ誰が知っていますか?nodejs文の後にdomオブジェクトを操作できません

index.htmlを

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> 
    </script> 
</head> 
<body> 
    <p id="demo">Click me to change my HTML content (innerHTML)</p> 

    <script src="server.js"></script> 
</body> 
</html> 

server.js

var config = require('./config'); 

document.addEventListener('DOMContentLoaded', function() { 
    $("#demo").click(function() { 
     document.getElementById("demo").innerHTML = "Paragraph changed!"; 
    }) 
}); 
+0

おそらく[requirejs](requirejs.org)を見る必要があります。 –

答えて

1

ノードを使用してサーバーのファイルを実行している場合は、documentブラウザを参照するつもりはありません。あなたのブラウザはNodeには利用できません。フロントエンドのjavascriptだけがDOMを参照できるようになります。また、browserifyなどの一部のバンドラを使用していない場合は、フロントエンドのjavascriptでrequireを使用するとエラーが発生するため、次のjQueryコードは実行されません。ブラウザのデベロッパーツールを開き、コンソールにエラーが表示されるはずです。

ノードはDOMで動作するものではなく、サーバーファイルはHTMLに挿入しないでください。サーバーコードをフロントエンドコードから分離してください。ノードはサーバーをセットアップしてファイルを提供することを目的としており、DOMを扱うことはできません。 Nodeとそれがどのような目的で使用されているかについて、さらによく知るためにいくつかのチュートリアルを読んでみてください。

0

ブラウザでhtmlを開き、requireが定義されていないと言ってください。 at server.js:1。 HTMLスクリプトでは、require構文をサポートしていません

関連する問題