簡體   English   中英

我如何從我的nodejs服務器上的js文件加載我的js函數?

[英]how can i load my js function from js file on my nodejs server?

我正在一個小型網站上工作,我是javascript和nodejs的初學者,我用nodejs創建了一個小型服務器,但是我不知道如何在服務器幫助中加載file.js。 這是我的服務器:

enter code here

let http = require('http');
let fs = require('fs');
let path = require('path');

http.createServer(function(req, res)
{ 

    if(req.url === "/")
    {
        fs.readFile("index.html", "UTF-8", function(err, html)
        {
            res.writeHead(200, {"Content-Type": "text/html"});
            res.end(html);
        });
    }else if(req.url.match("\.css$"))
    {
        var cssPath = path.join(__dirname, '', req.url);
        var fileStream = fs.createReadStream(cssPath, "UTF-8");
        res.writeHead(200, {"Content-Type": "text/css"});
        fileStream.pipe(res);

    }else if(req.url.match("\.png$")){
        var imagePath = path.join(__dirname, '', req.url);
        var fileStream = fs.createReadStream(imagePath);
        res.writeHead(200, {"Content-Type": "images/png"});
        fileStream.pipe(res);
    }else if (req.url.match("\.jpg$")) {
         var imagePath = path.join(__dirname, '', req.url);
        var fileStream = fs.createReadStream(imagePath);
        res.writeHead(200, {"Content-Type": "images/jpg"});
        fileStream.pipe(res);
    }
    else
    {
        res.writeHead(404, {"Content-Type": "text/html"});
        res.end("No Page Found");
    }
}).listen(3000, '127.0.0.1');

這是我的javascript文件的一部分

$(function(){
    let navMain=document.querySelector('nav');
    let ul=document.getElementById('mainUl');
    let li=document.createElement('li');
    let a=document.createElement('a');
    let login=document.createTextNode('Login');

        $(window).on('scroll',function(){
            const navMainTopMesure=navMain.offsetTop;
            if($(window).scrollTop() && window.scrollY>=navMainTopMesure){
                $('nav').addClass('fixed');
                a.appendChild(login);
                li.appendChild(a);
                ul.appendChild(li);
                a.addEventListener('click',function(){
                    document.querySelector('.login').style.display='flex';
                });
                return 0;

            }else{
                $('nav').removeClass('fixed');
                ul.removeChild(li);
            }
        })
  });

  $(function(){


    window.addEventListener('click',function(e){
        if(e.target == document.querySelector('.register')){
            document.querySelector('.register').style.display='none';
        }

    })

    window.addEventListener('click',function(e){
        if(e.target == document.querySelector('.login') ){
             document.querySelector('.login').style.display='none';
        }
    })

  let date =new Date();
  document.getElementById('date').innerHTML=date.toDateString();
  document.querySelector('.sign-up').addEventListener('click',function(){
      document.querySelector('.register').style.display='flex';

  })

  document.querySelector('.closeRegister').addEventListener('click',function(){
  document.querySelector('.register').style.display='none';
  })

  document.querySelector('.sign-in').addEventListener('click',function(){
    document.querySelector('.login').style.display='flex';
})

document.querySelector('.closeLogin').addEventListener('click',function(){
  document.querySelector('.login').style.display='none';
})

$('.mobile-nav').on('click',function(){
    $('.nav-main ul').toggleClass('drop');
   $('.mobile-nav i').toggleClass('fa-times');
})  
    });



function smoothScroll(target,duration)
{
    var target = document.querySelector(target);
    var targetposition = target.getBoundingClientRect().top;
    var startposition = window.pageYOffset;
    var distance = targetposition-startposition;
    var starttime = null;

我只想在服務器上的javascripte文件中執行我的功能。 我在瀏覽器中的localhost上執行html文件時遇到問題,認為是可以,但是發生了任何JavaScript事件

您要做的是在主應用程序目錄中創建一個名為“ frontend”或“ src”或“ public”的文件夾,然后在該文件夾中創建將由index.html文件使用的目錄。 將您的JS文件放在您想要的任何位置。

在節點的主服務器或app.js文件中,執行app.use(express.static(path.join(__ dirname,'whatevernameyouchoseforyourfrontendfiles'))));

並且,在每次服務器收到文件請求后,您都在提供初始HTML文件之后,它將知道在哪里查找。

暫無
暫無

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

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