我正在使用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>
答案 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')
方法,则必须使用requirejs
或webpack
等。
答案 1 :(得分:1)
亲爱的,
它很简单,只需使用
包含jquery文件即可<head><script src="/pathto/jquery.min.js"></script></head>
或强>
在index.html文件的head
标记中添加CDN
在app.js文件中进行更改
app.use(express.static(path.join(__ dirname,&#39; public&#39;));
现在只需转到索引文件,然后在HTML标记中正常添加CDN或jquery文件。
谢谢&amp;干杯:)