簡體   English   中英

node + html頁面加載+ javascript,無法加載main.js文件

[英]node + html page load+ javascript, can't load main.js file

對於這個愚蠢的簡單問題,真的很抱歉,但我已經嘗試讓它工作 20 多個小時,但我已經筋疲力盡了……還搜索/嘗試了 100 多種執行此操作的方法。

我有一個名為server.js的節點服務器、一個名為index.html 的html 頁面和一個名為main.js的 javascript 文件。

我試圖簡單地根據請求加載 index.html 文件(加載http://localhost:2500/ 時)並且它可以工作,但我無法加載該死的 main.js ......所以它只是打印 index.html 文件中的內容。

server.js 文件:

var http=require('http');
var fs=require('fs');
var express=require('express');
var app=express();
// var path=require('path');

// app.use("/", express.static(__dirname));
// app.use(express.static(path.join(__dirname+"/public")));
app.use(express.static('public'));

//404 response
function send404response(response) {
    response.writeHead(404,{"Context-Type":"text/plain"});
    response.write("error 404:page not found");
    response.end();
}

//Handle user request
function onRequest(request,response) {

    if(request.method=='GET' && request.url =='/'){
        response.writeHead(200,{"Context-Type":"text/html"});
        fs.createReadStream("public/pages/index.html").pipe(response);
    }
    else {
        send404response(response);
    }
    }

http.createServer(onRequest).listen(2500);
console.log('server is running');

index.html-文件

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- <link rel="stylesheet" type="text/css" media="screen" 
href="main.css" /> -->

</head>
<body>ddfg

<script type="text/javascript" src="js/main.js"></script>
</body>
</html>

main.js 並不真正包含任何值得鏈接的東西。 它在不涉及節點的情況下運行良好。

編輯:忘記包含文件結構。

server.js 在根上

公共/js/main.js
公共/頁面/index.html

要在節點中導入 javascript 文件,您可以通過以下方式進行:

const myJsFunctions = require('./main.js');

然后你可以通過myJsFunctions.functionName()類的東西調用你的函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM