在客户端Node.js中包含JQuery

时间:2016-03-09 06:32:24

标签: javascript jquery html node.js

我正在使用express学习node.js并遇到了一个给我带来麻烦的话题。基本上,一旦用户请求网页并且后端向他们发送HTML网页,如果我想包含一个javascript文件以使该HTML页面具有交互性,我将如何做到这一点?

我的后端看起来像这样:

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files

,它发送的HTML如下所示:

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');
});

我是否只是通过将HTML中的源链接到像这样的公共源来添加Jquery?

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

或者我必须做一些特别的事情吗?为此,我将如何添加我编写的常规javascript文件,而不是像Jquery这样的库。

编辑:我的项目结构如下所示:

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

2 个答案:

答案 0 :(得分:5)

使用CDN服务器是最佳选择,以便浏览器缓存您的库文件。这将有助于您的客户减少页面加载时间。

如果您想使用从服务器下载的副本,请创建目录结构 ,例如&#34; static / libs /&#34; 并复制该目录中的jquery库然后通过

将其作为静态目录
app.use(express.static(__dirname + '/static'));

然后你可以通过

引用你的html页面中的jquery
<script src="/libs/jquery/1.12.0/jquery.min.js"></script>

您也可以将node_module目录设为静态,然后所有node_module都可供公众使用,您可以从客户端引用jquery文件。

在评论中,我看到您提到了npm jquery。 执行npm jquery时,jquery将作为节点模块安装,并且可以在 node_module 目录中使用,并且使用require('jquery')可以使用jquery仅在服务器端的模块。如果您想在客户端使用require('jquery')方法,则必须使用requirejswebpack等。

答案 1 :(得分:1)

亲爱的

它很简单,只需使用

包含jquery文件即可
<head><script src="/pathto/jquery.min.js"></script></head>

在index.html文件的head标记中添加CDN

  1. 创建一个名为&#39; public&#39;的文件夹。在您的应用的根文件夹中。
  2. 内部&#39;公共&#39;文件夹创建&#39; js&#39;名称文件夹
  3. 将所有js文件保存在&#39; js文件夹&#39;
  4. 在app.js文件中进行更改

    app.use(express.static(path.join(__ dirname,&#39; public&#39;));

  5. 现在只需转到索引文件,然后在HTML标记中正常添加CDN或jquery文件。

  6. 谢谢&amp;干杯:)