如何使用node.js在html中调用外部javascript文件

时间:2013-11-12 14:02:34

标签: javascript html node.js

我是一个完整的node.js新手并且在基础知识上苦苦挣扎。我有一个html文件,我想在本地主机环境中使用node.js在html页面中调用外部javascript文件。

JS:

var http = require('http'),
fs = require('fs');
fs.readFile('HtmlPage.html', function (err, html) {
  if (err) {
    throw err; 
  }
});       
http.createServer(function(request, response) {  
    response.writeHeader(200, {"Content-Type": "text/html"});  
    response.write(html);  
    response.end();  
}).listen(8000);});

HTML:

<script type="text/javascript" >
function validation() {
  alert("Hai");            
  var fs = require("JavaScript1.js");
}
</script>

1 个答案:

答案 0 :(得分:2)

请注意,HTML页面中的JavaScript将在浏览器上运行,而不是在服务器上运行。

因此,alert("Hai");执行得很好,因为这是典型的客户端javascript代码,但服务器端代码如var fs = require("JavaScript1.js");将不会。

有一些方法可以像其他人在评论中指出的那样分享客户端和服务器端javascript代码,但我怀疑在你开始学习Node.js之后,这不是你的意思

您在服务器中使用Node.js的事实并不会自动为您提供客户端的新JavaScript功能。就浏览器而言,服务器可以是Ruby或C#。

另外,我会写这样的服务器端代码:

var http = require('http'),
var fs = require('fs');
http.createServer(function(request, response) {  

   fs.readFile('HtmlPage.html', function (err, html) {
     if (err) {
        throw err; 
     }

    response.writeHeader(200, {"Content-Type": "text/html"});  
    response.write(html);  
    response.end();  

   });       

}).listen(8000);});

我有一篇Node.js博客文章,可能会在一开始就帮到你: http://hectorcorrea.com/blog/introduction-to-node-js