簡體   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