#javascript #html
#javascript #HTML
Вопрос:
Я нашел какой-то странный знак <%%> в angular2-seed, для чего используется <% %> ?
https://github.com/AngularClass/angular2-webpack-starter/blob/master/src/index.html
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><%= htmlWebpackPlugin.options.title %></title>
<meta name="description" content="<%= htmlWebpackPlugin.options.title %>">
<% if (webpackConfig.htmlElements.headTags) { %>
<!-- Configured Head Tags -->
<%= webpackConfig.htmlElements.headTags %>
<% } %>
<!-- base url -->
<base href="<%= htmlWebpackPlugin.options.metadata.baseUrl %>">
</head>
<body>
<app>
Loading...
</app>
.....
<% if (htmlWebpackPlugin.options.metadata.isDevServer amp;amp; htmlWebpackPlugin.options.metadata.HMR !== true) { %>
<!-- Webpack Dev Server reload -->
<script src="/webpack-dev-server.js"></script>
<% } %>
</body>
</html>
Ответ №1:
Обычно это обрабатывается кодом на HTTP-сервере и заменяется динамически генерируемыми строками перед отправкой полной страницы в ответ на запрос браузера.
Смотрите, например
Ответ №2:
На самом деле это плагин HTML Webpack https://github.com/ampedandwired/html-webpack-plugin
Если вы выполните поиск HtmlWebpackPlugin в проекте, вы получите следующий js, и он указывает на файл шаблона, а механизм шаблонов помогает декодировать его в HTML-файл.
/*
* Plugin: HtmlWebpackPlugin
* Description: Simplifies creation of HTML files to serve your webpack bundles.
* This is especially useful for webpack bundles that include a hash in the filename
* which changes every compilation.
*
* See: https://github.com/ampedandwired/html-webpack-plugin
*/
new HtmlWebpackPlugin({
template: 'src/index.html',
title: METADATA.title,
chunksSortMode: 'dependency',
metadata: METADATA,
inject: 'head'
}),
Я думаю, это то, что вы пытались выяснить.