如何添加`jquery`来表达应用
How to add `jquery` to express app
我刚刚玩了一个 hello-world-chat express
应用程序 (here)。我注意到 index.html
中的以下内容
<script src="/socket.io/socket.io.js"></script>
我已经安装了
npm install --save socket.io
express怎么知道它在哪里,因为没有像
这样的文件
/node_modules/socket.io/socket.io.js
例如,我想对 jquery
做同样的事情
$> npm install --save jquery
<script src="/jquery/jquery.js"></script>
但是,这不起作用:(
谁能给我解释一下这是怎么回事?如果可能的话,我该如何解决 jquery
.
当您安装服务器端 socket.io 库然后初始化 socket.io 服务器端时,您将您的 express 应用程序对象传递给它。然后它为 /socket.io/socket.io.js
路由安装路由处理程序,当请求该路由时,该处理程序从它自己的 socket.io 模块提供适当的客户端文件。客户端文件不在这个确切的路径中,甚至不一定有这个文件名,但是当命中该路由时,服务器端 socket.io 安装的路由将为客户端提供适当的文件 socket.io 支持
这样做有一个很好的好处,因为每次升级服务器端 socket.io 库时,您都会自动获得一个新的客户端库(嵌入在服务器端库中)这将始终保持两者同步。如果您提供单独的客户端库(来自 CDN 或您自己的路由),则必须确保同时升级客户端和服务器库。
如果您想从您的服务器提供 jQuery,那么您可以使用 express.static()
将 jQuery 文件放在您服务器上的已知位置并使用 express.static()
配置将特定路线指向正确的位置。 See Serving Static Files in Express 用于文档。
或者,如果您真的想像 socket.io 那样做,那么您可以为 /jquery/jquery.js
安装自己的路由,然后提供 jQuery 文件(来自无论你把它放在你的服务器上的什么地方)只要这条路线被击中。例如,这是一个自定义路由,用于提供特定版本的 jQuery 从使用您提到的命令 npm install --save jquery
:
安装它的地方
app.get('/jquery/jquery.js', function(req, res) {
res.sendfile(__dirname + '/node_modules/jquery/dist/jquery.min.js');
});
我刚刚玩了一个 hello-world-chat express
应用程序 (here)。我注意到 index.html
<script src="/socket.io/socket.io.js"></script>
我已经安装了
npm install --save socket.io
express怎么知道它在哪里,因为没有像
这样的文件/node_modules/socket.io/socket.io.js
例如,我想对 jquery
做同样的事情$> npm install --save jquery
<script src="/jquery/jquery.js"></script>
但是,这不起作用:(
谁能给我解释一下这是怎么回事?如果可能的话,我该如何解决 jquery
.
当您安装服务器端 socket.io 库然后初始化 socket.io 服务器端时,您将您的 express 应用程序对象传递给它。然后它为 /socket.io/socket.io.js
路由安装路由处理程序,当请求该路由时,该处理程序从它自己的 socket.io 模块提供适当的客户端文件。客户端文件不在这个确切的路径中,甚至不一定有这个文件名,但是当命中该路由时,服务器端 socket.io 安装的路由将为客户端提供适当的文件 socket.io 支持
这样做有一个很好的好处,因为每次升级服务器端 socket.io 库时,您都会自动获得一个新的客户端库(嵌入在服务器端库中)这将始终保持两者同步。如果您提供单独的客户端库(来自 CDN 或您自己的路由),则必须确保同时升级客户端和服务器库。
如果您想从您的服务器提供 jQuery,那么您可以使用 express.static()
将 jQuery 文件放在您服务器上的已知位置并使用 express.static()
配置将特定路线指向正确的位置。 See Serving Static Files in Express 用于文档。
或者,如果您真的想像 socket.io 那样做,那么您可以为 /jquery/jquery.js
安装自己的路由,然后提供 jQuery 文件(来自无论你把它放在你的服务器上的什么地方)只要这条路线被击中。例如,这是一个自定义路由,用于提供特定版本的 jQuery 从使用您提到的命令 npm install --save jquery
:
app.get('/jquery/jquery.js', function(req, res) {
res.sendfile(__dirname + '/node_modules/jquery/dist/jquery.min.js');
});