繁体   English   中英

如何在Node.js和Jade中使用客户端Jquery?

[英]How to use client side Jquery with Node.js and Jade?

我试图将jquery代码放在我的node.js应用程序的主页上。 这是我到目前为止:

  script(type='text/javascript' src='public/javascripts/jquery-min.js')
  script.
    $( document ).ready(function() {
      alert('hello');

    });

这会生成这个HTML

<script type="text/javascript" src="public/javascripts/jquery-min.js"></script>


<script>$( document ).ready(function() {
  alert('hello'); 

}); 

</script>

但是,当我的应用程序启动时,我没有收到任 另外,当我尝试直接在http://localhost:3000/public/javascripts/jquery-min.js访问该资源时出现错误: Cannot GET /public/javascripts/jquery-min.js

这是预期的吗? 有什么我必须这样做,以便可以从我的应用程序访问jquery代码?

我的猜测是你没有告诉你的Express服务器在哪里寻找静态文件。 将以下行添加到Express配置中:

// Assuming you have a line such as var app = exports.app = express();
app.use(express.static(path.join(__dirname, 'public')));

...您可以通过Express访问public目录中的任何内容。

在你告诉Express在哪里寻找像这样的静态文件:

var express = require('express');
var app = express();

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

它将在公共文件夹中查找文件,因此如果要引用任何文件,则不必将“/ public”放在其前面。 所以这不会起作用:

script(type='text/javascript' src='public/javascripts/jquery-min.js')

但这会:

script(type='text/javascript' src='javascripts/jquery-min.js')

对于直接获取文件它的工作方式相同,你必须省略“/ public”并像这样使用它:

http://localhost:3000/javascripts/jquery-min.js

我不确定为什么资源不可用。 但是通过使用script(type='text/javascript' src='http://code.jquery.com/jquery.min.js')它开始工作了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM