js的客户端包含javascript

js的客户端包含javascript

本文介绍了如何在node.js的客户端包含javascript?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是node.js和javascript的初学者。

I'm a beginner of node.js and javascript.

我想在html代码中包含外部javascript文件。这是html代码,index.html:

I want to include external javascript file in html code. Here is the html code, "index.html":

<script src="simple.js"></script>

这里是javascript代码,simple.js:

And, here is the javascript code, "simple.js":

document.write('Hello');

当我直接在网络浏览器(例如Google Chrome)上打开index.html时,它作品。
(屏幕上应显示Hello消息。)

When I open the "index.html" directly on a web browser(e.g. Google Chrome), It works.("Hello" message should be displayed on the screen.)

然而,当我尝试通过node.js http打开index.html时服务器,它不起作用。
这是node.js文件,app.js:

However, when I tried to open the "index.html" via node.js http server, It doesn't work.Here is the node.js file, "app.js":

var app = require('http').createServer(handler)
  , fs = require('fs')

app.listen(8000);

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200);
    res.end(data);
  });
}

(index.html,simple.js和app。 js在同一目录下。)
我启动了http服务器。 (通过bash $ node app.js)
之后,我尝试连接localhost:8000。
但是,Hello消息没有出现。

("index.html", "simple.js" and "app.js" are on same directory.)I started the http server. (by "bash$node app.js")After then, I tried to connect "localhost:8000".But, "Hello" message doesn't appear.

我认为index.html未能在http上包含simple.js服务器。

I think the "index.html" failed to include the "simple.js" on the http server.

我该怎么办?

推荐答案

问题是无论你的浏览器请求什么,你返回index.html。因此,浏览器加载您的页面并获取HTML。该html包含您的脚本标记,浏览器会向节点请求脚本文件。但是,您的处理程序设置为忽略请求的内容,因此它只会再次返回html。

The problem is that nomatter what your browser requests, you return "index.html". So the browser loads your page and get's html. That html includes your script tag, and the browser goes asking node for the script-file. However, your handler is set up to ignore what the request is for, so it just returns the html once more.

这篇关于如何在node.js的客户端包含javascript?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 12:38