html无法调用file.js

时间:2015-11-16 14:35:27

标签: node.js

我创建了我的第一个server.js,index.html和test.js.当我用节点运行时,索引页面无法调用test.js

var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, res) {
    fs.readFile('./index.html', 'utf-8', function(error, content) {
        res.writeHead(200, {"Content-Type": "text/html"});
        res.end(content);
    });
});

server.listen(8080);

index.html

    <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>PLAN</title>
        <script type="text/javascript" scr="test.js"></script>
    </head>
    <body>
        hello 
    </body>
</html>

test.js

"use strict";
alert("aa1");

1 个答案:

答案 0 :(得分:1)

你的问题有两个。

  1. <script>标记属性不正确,scr文件中的src更改为index.html

  2. 您的服务器需要提供javascript文件,即fs.readFile('./test.js'),因此请将您的server.js更改为以下内容。

  3. var http = require('http');
    var fs   = require('fs');
    var path = require('path');
    
    http.createServer(function (request, response) {
    var filePath = '.' + request.url;
    if (filePath == './') filePath = './index.html';
    
    var extname     = path.extname(filePath);
    var contentType = 'text/html'
    if (extname == '.js') contentType = 'text/javascript';
    
    fs.readFile(filePath, function(error, content) {
        response.writeHead(200, { 'Content-Type': contentType });
        response.end(content, 'utf-8');
    });
    
    }).listen(8080);
    console.log('Server running at http://127.0.0.1:8080/');
    

    我认为这应该有用。