![](/img/trans.png)
[英]Is there a difference between app.use(“/”, express.static) and app.use(express.static)?
[英]`app.use(express.static` seems to not working if app - is subapplication
我嘗試做這樣的事情:
var main = express();
main.use(express.static(path.resolve('./asset')));
main.route('someroute', someHandle);
var app = express();
app.use(express.static(path.resolve('./asset')));
app.route('someroute', someHandle);
main.use('/app', app);
資產/asset/someasset.js
良好,但/app/asset/someasset.js
沒有返回(404),路徑解析到正確的文件夾。
我嘗試了app.use('/app', express.static(path.resolve('./asset')));
-不起作用,但是main.use('/app', express.static(path.resolve('./asset')));
-有效!
有一些限制使用express.static
與安裝subapp?
UPD:
我嘗試使用http://expressjs.com/ru/4x/api.html#express app.mountPath中所述的掛載應用程序,期望Express掛載為子應用程序的所有功能都可以在其中使用,並且偶然發現了靜態問題。想知道此用例是否有局限性? 他們可能是什么?
您的用例看起來像是Express Router的不錯的選擇,Express Router是“中間件和路由的隔離實例”:
http://expressjs.com/4x/api.html#router
具體來說,請嘗試更換
var app = express();
與
var app = express.Router();
編輯:您使用path.resolve都是錯誤的。
path.resolve('./asset')
我的猜測是express.static仍在原始路徑上運行。 所以試試這個
var main = express(); main.use(express.static(path.resolve('./asset'))); main.route('someroute', someHandle); var app = express(); app.use(express.static(path.resolve('./app/asset'))); app.route('someroute', someHandle); main.use(app);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.