0

我想在 node.js 中使用我原来的 html

这是简单的hsh.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title> How to Say Hello </title>
    <link type="text/css" href="./sys/lib/css/uniform.default.css" rel="stylesheet" media="screen" />
    <link type="text/css" href="./sys/lib/css/jquery-ui.1.10.3.smoothness.css" rel="stylesheet" media="screen" />
    <script type="text/javascript" src="./sys/lib/scripts/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="./sys/lib/scripts/jquery-ui.1.10.3.min.js"></script>
    <script type="text/javascript" src="./sys/lib/scripts/myhello.js"></script>
    <script>
    $(function(){
        $( "#sayDate" ).datepicker();
    });

    function resetHello()
    {
        document.getElementById("hello").value = "";
        document.getElementById("sayDate").value = "";
    }
    </script>
</head>
<body>
    <form name="syaHello">
        How to say hello in your contry?<br>
        <input type="text" id="hello" value="">
        <INPUT id=sayDate style="WIDTH: 100px" name=sayTime>
    </form>
    <div class="docBtn_list">
        <input type="button" value="View Hello" onclick="javascript:howHello();" /> 
        <input type="button" value="Reset" onclick="resetHello();" /> 
    </div>
</body>
</html>

我的你好.js

function howHello()
{
    alert(document.getElementById("hello").value + " " + 
          document.getElementById("sayDate").value);
}

nodeSev.js

var http = require('http'),
    fs = require('fs');


fs.readFile('./hsh.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(3000);
});

但这不适用于 jquery 和 howHello java 脚本。

我不想过多地更改 html 和 js 并且不使用express包。

4

1 回答 1

1

在回答你的问题之前...

您的问题旨在提供静态网页内容。

您应该安装“express”(一个基于著名的“connect”的节点模块,它也可以用于此,但缺少其他功能)并将其配置为从静态目录提供您的文件:

var express = require('express');
var app = express.createServer();

/* configure your static directory */
app.configure(function(){
  app.use(express.static(__dirname + '/static'));
});

/* on request, send index.html */
app.get('/', function(req, res){
   res.sendfile(__dirname + '/index.html');
});

app.listen(3000); 

现在你已经express安装好了,看看Jade

然后,您可以处理收到的请求并动态提供内容。这是最先进的 - 提供预编码的 html 是 90 年代的风格。

于 2013-11-11T12:26:33.073 回答