5

我是一个完整的 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>
4

1 回答 1

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

于 2013-11-12T14:42:03.817 回答