当我设置一些路线时,我正常地这样做:
app.get('/x', function(req, res) {
res.sendFile(path.join(__dirname + '/public/.../index.html'));});
问题是如果您在路径文件夹中有JS或CSS,则无法托管它们。
我经常添加
app.get('/public/.../js/index.js', function(req, res) {res.sendFile (__dirname + '/public/.../js/index.js');});
app.get('/public/.../css/style.css', function(req, res) {res.sendFile (__dirname + '/public/.../css/style.css');});
就在Route下方,可以访问JS和CSS。
我已经使用express static
托管库app.use('/lib', express.static('lib'));
但是对于路径文件夹中的JS和CSS来说这是不可能的(/ public /.../ js)
- 是否有更好的方法来整理路径文件夹中的文件?
答案 0 :(得分:1)
您可以使用虚拟路径,保留当前目录结构,添加以下路由,您可以使用./public子目录下的/ static前缀引用所有静态文件:
app.use('/static', express.static('public'))
E.g。你可以参考http://your_server/static/public/.../js/index.js。 请注意,在这种情况下,/ public下的所有文件都可以通过/ static前缀访问,因此您不应该有服务器代码或服务器配置。
理想情况下,为了清楚起见,您应该使用类型子文件夹(例如/ static / js,/ static / css)来托管和引用所有静态文件:
app.use('/static', express.static('static'))