我目前在通过expressJs提供静态文件方面遇到一些小问题。
我的目录结构如下:
在我的index.html文件中,我在所有资产前面都加了一个斜杠。
index.html
我的静态设置如下: app.use(express.static(path.resolve(__dirname + '../' + 'public')));
app.use(express.static(path.resolve(__dirname + '../' + 'public')));
但是由于某种原因,我的静态文件没有得到提供。
我当时以为这是跨域调用之类的…我目前正在使用cloud9 IDE,这可能与它有某种关系吗?
您应该使用path.join而不是手动连接路径组件。它使用path.normalize来解析.和..处理多个斜杠或尾部斜杠,并为您的平台使用适当的文件分隔符(请参阅:path.sep)。
.
..
例如,
var path = require('path'); var express = require('express'); var app = express(); app.use(express.static(path.join(__dirname, '../public')));