[英]How to serve script file from Express route
我有一個js腳本,我想將其包含在html文件的src屬性中。 當我直接從本地路徑添加腳本時,它正在工作。
是否可以從快速路由返回文件路徑,並將該路由用作html中src的值? 這就是我要在html中包含我的快速路線的方式
<script src="http://localhost:2222/widget" type="text/javascript"></script>
Express服務器在端口2222上運行,並具有一些API。 現在在我的快速路線/小工具中
app.get("/widget", (req, res) => {
res.send(path.join(__dirname + "/src/client/public/bundle.js"));
});
當我簡單地觸發localhost:2222 / widget時,從/ home /開始顯示正確的路徑。
我需要一些機制來將此js文件路徑用作src(如上所示)。
注意:我已經添加了所有cors,標頭等用於訪問控制。
使用res.sendFile()
發送文件而不是路徑:
在給定
path
傳輸文件。 根據文件名的擴展名設置Content-Type
響應HTTP標頭字段。 除非在options對象中設置了root選項,否則path
必須是文件的絕對路徑。
因此,您的代碼變為:
app.get("/widget", (req, res) => {
res.sendFile(path.join(__dirname, "/src/client/public/bundle.js"), err => console.log(err));
});
由於您使用的是path.join()
,因此可以用逗號分隔__dirname
和相對路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.