节点js。 我如何从HTML调用本地文件

我有这个文件来运行app.js

var express = require('express') var app = express(); var router = express.Router(); var path = __dirname + '/views/'; router.get("/",function(req,res){ res.sendFile(path + "index.html"); }); app.use("/",router); app.use("*",function(req,res){ res.sendFile(path + "index.html"); }); app.listen(8080,function(){ console.log("Live at Port 8080"); }); 

我有“视图”文件夹内的“index.html”。 我想导入我的本地css文件“css”文件夹内。 我试图像这样调用文件

 <link href="css/main.css"> 

要么

 <link href="../css/main.css"> 

但它没有工作。 有没有什么具体的方法来得到它们?

谢谢

       

网上收集的解决方案 "节点js。 我如何从HTML调用本地文件"

如果我正确地理解了这个问题,你似乎没有为静态文件设置一个文件夹。 例如:

app.use(express.static(path.join(__dirname, 'static')));

在你做一个之后,它应该开始寻找在那里的CSS。 例如static/css/main.css可以和<link href="css/main.css">

把你的css文件夹放在视图文件夹中

 var express = require('express') var app = express(); var router = express.Router(); var path = __dirname + '/views/'; app.use(express.static(path.join(__dirname, 'views'))); router.get("/",function(req,res){ res.sendFile("index.html"); }); app.use("/",router); app.use("*",function(req,res){ res.sendFile("index.html"); }); app.listen(8080,function(){ console.log("Live at Port 8080"); }); 

我想你应该使用express的服务静态文件,如他们的API中所解释的: https : //expressjs.com/en/starter/static-files.html