Можно ли минимизировать код JS внутри файлов ejs?
Мне интересно, возможно ли минимизировать код JS, содержащийся в файлах шаблонов, таких как файлы EJS.
Это полезно? Я думаю о спектаклях. Это все еще способ скрыть комментарии, объяснения.
1 ответ
Это кажется лучшим решением. По сути, вы хотите использовать метод renderFile EJS, а затем использовать UglifyJS, чтобы увеличить результат рендеринга.
app.get('/js/my.js', (req, res) => {
var data = {foo:'bar'}
ejs.renderFile('views/js/my.js.ejs', {data}, (err, js) => {
if(err) return res.status(500).send("error")
res.setHeader('Content-Type', 'text/javascript')
res.send(UglifyJS.minify(js))
})
})
Вы можете использовать node- minify для минимизации файлов Javascript, HTML и CSS.
Также не следует минимизировать файлы при рендеринге (при входящем запросе). Обычно я использую свои файлы EJS для передачи конфигураций пользовательскому интерфейсу и загрузки пользовательского интерфейса из S3 или из общедоступной конечной точки.
У вас может быть index.ejs, который включает тег скрипта
<script type='text/javascript'>
var clientSideConfig =<%-JSON.stringify(backendConfigurations)%>
</script>
<script src="/public/your_minified_vuejs.js"></script>