最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Including JQuery in Client Side Node.js - Stack Overflow

programmeradmin0浏览0评论

I'm learning node.js using express and have e across a topic thats giving me some trouble. Basically, once the user requests a webpage and the backend sends them the HTML webpage, if I want to include a javascript file to make that HTML page interactive, how would I exactly do that?

My backend looks like this:

var app = require('express')();
var server = require('http').Server(app);
var express = require('express');
server.listen(8080);
app.use(express.static(__dirname + '/views'));

app.get('/', function(req, res){
    res.render('index.html');
});

and the HTML it sends looks like this:

<html>
    <head>
        <meta charset="UTF-8">
        <title>WebsiteMainPage</title>
    </head>
    <body>
        <h1>index.html</h1>
    </body>
</html>

Do I just add Jquery by linking up the source in the HTML to a public source like this?

<script src=".12.0/jquery.min.js"></script>

Or do I have to do something special? For that matter how would I add a general javascript file that I wrote, not a library such as Jquery.

Edit: My project structure looks like this:

Project
   |
   |_____ backend.js
   |
   |_____ views
   |         |
   |         |_______ index.html
   |
   |_____ static
             |
             |_______ libs
                        |
                        |________jquery-1.12.1.min

I'm learning node.js using express and have e across a topic thats giving me some trouble. Basically, once the user requests a webpage and the backend sends them the HTML webpage, if I want to include a javascript file to make that HTML page interactive, how would I exactly do that?

My backend looks like this:

var app = require('express')();
var server = require('http').Server(app);
var express = require('express');
server.listen(8080);
app.use(express.static(__dirname + '/views'));

app.get('/', function(req, res){
    res.render('index.html');
});

and the HTML it sends looks like this:

<html>
    <head>
        <meta charset="UTF-8">
        <title>WebsiteMainPage</title>
    </head>
    <body>
        <h1>index.html</h1>
    </body>
</html>

Do I just add Jquery by linking up the source in the HTML to a public source like this?

<script src="https://ajax.googleapis./ajax/libs/jquery/1.12.0/jquery.min.js"></script>

Or do I have to do something special? For that matter how would I add a general javascript file that I wrote, not a library such as Jquery.

Edit: My project structure looks like this:

Project
   |
   |_____ backend.js
   |
   |_____ views
   |         |
   |         |_______ index.html
   |
   |_____ static
             |
             |_______ libs
                        |
                        |________jquery-1.12.1.min
Share Improve this question edited Mar 9, 2016 at 8:09 MarksCode asked Mar 9, 2016 at 6:32 MarksCodeMarksCode 8,60417 gold badges70 silver badges143 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 7

Using CDN servers will the best option so that browser will cache your library files. and that will help your clients to reduce their page loading time.

If you want to use your own copy downloaded from your server, create a directory structure for example "static/libs/" and copy the jquery library inside that directory then make it as a static directory by

app.use(express.static(__dirname + '/static'));

then you can refer the jquery from your html page by

<script src="/libs/jquery/1.12.0/jquery.min.js"></script>

You can also make the node_module directory as static then all the node_module will be available to public and you can able to refer the jquery file from client side.

in a ment I saw that you have mentioned about npm jquery. When you do npm jquery, jquery will be installed as a node module and it will be available in node_module directory and using require('jquery') you can use jquery modules in the server side only. If you want to use the require('jquery') method in the client side you have to use requirejs or webpack etc .

Dear,

it's so simple just include the jquery file by using

<head><script src="/pathto/jquery.min.js"></script></head>

OR

add CDN in head tag of your index.html file

  1. Create A folder named 'public' within root folder of your app.
  2. Inside 'public' folder create 'js' name folder
  3. Keep all js file within 'js folder'
  4. Make changes in your app.js file like such

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

  5. Now just go to you index file and add CDN or your jquery file normally in HTML head tag.

Thanks & Cheers :)

发布评论

评论列表(0)

  1. 暂无评论