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

Pra*_*Raj 5 html javascript 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);});
Run Code Online (Sandbox Code Playgroud)

HTML:

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

Hec*_*rea 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);});
Run Code Online (Sandbox Code Playgroud)

我有一篇 Node.js 简介博客文章,可能会对您有所帮助: http://hectorcorrea.com/blog/introduction-to-node-js