[英]Cannot figure out how to reach to a js file
我是Web開發的新手,正在嘗試Express的node.js。
我有以下目錄結構:
第一個應用
---- node_modules
---- 公眾
-------- 腳本
------------ additems.js
---- 意見
-------- home.ejs
---- app.js
帶有粗體的為文件夾,斜體為文件。
這是文件additem.js:
console.log("js connected");
alert("test");
這是home.ejs文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Test Node</title>
</head>
<body>
<h1>Dynamic Page</h1>
<p></p>
<ol id='olist'>Names List</ol>
<script type="text/javascript" src="../public/scripts/additems.js"></script>
<!-- <script type="text/javascript" src="/public/scripts/additems.js"></script>
<script type="text/javascript" src="/scripts/additems.js"></script>
<script type="text/javascript" src="/additems.js"></script>
<script type="text/javascript" src="additems.js"></script>
<script type="text/javascript" src="public/scripts/additems.js"></script> -->
<p>After Script tag</p>
</body>
</html>
這是app.js文件:
var express = require('express');
var app = express();
console.log("Server has been started!");
//app.use(express.static(__dirname + "/public"));
app.get("/", function(req,res){
//res.send("Home Page");
res.render("home.ejs");
})
我可以看到服務器可以運行並且顯示了home.ejs,但是沒有跡象表明additem.js甚至可以被觸摸。
我錯過了什么?
注意:我嘗試了不同的腳本路徑,並在app.js中嘗試了app.use並沒有碰到運氣,我還花費了大量時間搜索網絡,並且發現了類似的示例似乎沒有問題。
輸出:
控制台:服務器已啟動!
瀏覽器:( 不顯示警報 )
更新1 :我嘗試了../
但也無法正常工作。 在chrome控制台中,我可以看到此錯誤: (X) Failed to load resource: the server responded with a status of 404 (Not Found)
但是在添加..\\
,錯誤是: (X) GET http://localhost:3000/public/scripts/additems.js net::ERR_ABORTED
從公共目錄提供靜態文件:
app.use(express.static(__dirname + "public"));
然后,當從瀏覽器訪問這些文件時, public
將成為根目錄。
換句話說,public將是/
所以要訪問additems.js
<script type="text/javascript" src='/scripts/additems.js'></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.