Наше приложение разработано с использованием AngularJs.У нас есть несколько файлов изображений, css, js, поддерживаемых в папке ресурсов.Мы хотим их кэшировать.
Настройка приложения:
Главный каталог
--js
--modules
--page1
--page2
--pageN
--node_modules
--resources
--images
--css
--lib
--index.html
--app.js (узел js)
Мы использовали «staticify» для кэширования бюста с помощью express в app.js.Мы следовали из этого URL: https://matthewsmith.io/blog/how-to-set-up-cache-busting-in-express
Динамически сгенерированный код сохраняется в getVersionPath.Это значение отображается в index.html с помощью движка представления ejs.
Код, который мы использовали в app.js:
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.get('/', function(req, res, next){
res.render(__dirname + "/index.html", {"getVersionedPath":staticify.getVersionedPath});
});
В index.html:
<link rel="stylesheet" href="<%=getVersionedPath('/css/default.css')%>"/>
Это может быть применено только в index.html, но недоступно для других папок или страниц.Мы также не могли использовать два res.render, так как он показывает ошибку как
Error [ERR_HTTP_HEADERS_SENT]:Cannot set Header after they are send to the clients
Что делать, чтобы получить доступ getVersionedPath к / resources / images или всему приложению?