Powiedzmy, że mam prosty widok
<html>
<head>
<title>something</title>
</head>
<body>
<%= param %>
</body>
<script type="text/javascript" src="myscript.js"></script>
</html>
I tu jest myscript.js
$(function() {
var p = <%= param %>
}
Czy mogę zrobić ekspresowy silnik renderujący (w tym przypadku ejs
) renderuj wewnątrz myscript.js
?
Odpowiedzi:
3 dla odpowiedzi № 1Nie sądzę, aby ekspres dotknął twoich plików statycznych. Możesz zrobić z tego widok, który jest renderowany i obsługiwany z trasy, jak w:
app.get("/js/myscript.js", function(req, res) {
res.render("myscript");
});
W przypadku tras wyrażeń regularnych możesz to zrobić z dowolnym zakończeniem .js
. (Zanim ktokolwiek zlekceważy, zauważ, że powiedziałem mógłby, nie powinien.)
Prawdopodobnie lepiej by było, gdyby statyczny javascript był obsługiwany w przeglądarce, która wykorzystuje dane JSON dostarczane z Express.