Node.js html可以';t调用file.js

Node.js html可以';t调用file.js,node.js,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.write

我创建了第一个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>

你有两个问题

  • 不正确的
    标记属性,在
    index.html
    文件中从
    scr
    更改为
    src

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


  • 我认为这应该有效。

    应该是
    src
    ,而不是HTML中的
    scr
    "use strict";
    alert("aa1");
    
    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/');