mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-04-06 03:59:53 +08:00
53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
# HTML模板
|
||
|
||
Fes.js 基于 [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) 实现的模板功能,默认 HTML模板 是:
|
||
```html
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||
</head>
|
||
<body>
|
||
<div id="app"></div>
|
||
</body>
|
||
</html>
|
||
```
|
||
|
||
|
||
## 替换模板
|
||
在 `src/public` 文件夹中创建`index.html`,Fes.js 约定如果这个文件存在,则会替换默认模板。
|
||
|
||
## 配置模板
|
||
|
||
### 配置
|
||
在配置文件(`.fes.js`)中配置 `html`,把配置的对象作为参数传入 `html-webpack-plugin` 实例。
|
||
|
||
举个 :chestnut: :
|
||
```js
|
||
export default {
|
||
html: {
|
||
title: '海贼王'
|
||
}
|
||
}
|
||
```
|
||
页面的 title 会设置成'海贼王'。
|
||
|
||
### 手动
|
||
当然我们也可以手动编写模板,在模板中添加`link`、`link`、`meta`等标签。在我们手动配置模板时,有时候需要用到一些环境变量,模板里可以获取到的变量如下:
|
||
|
||
- **htmlWebpackPlugin**,特定于此插件的数据
|
||
- **webpackConfig**,用于此编译的webpack配置。例如,它可用于获取publicPath(webpackConfig.output.publicPath)。
|
||
- **compilation**,webpack编译对象。例如,可以使用它来获取已处理资产的内容,并将其直接内联到页面中compilation.assets[...].source()
|
||
|
||
举个 🌰 :
|
||
```html
|
||
<link rel="icon" type="image/x-icon" href="<%= webpackConfig.output.publicPath %>favicon.png" />
|
||
```
|
||
|
||
除上述 `html-webpack-plugin` 三点之外,Fes.js 还把 `process.env` 中所有环境变量都添加到了模板作用域内:
|
||
- `NODE_ENV`
|
||
- `FES_ENV`
|
||
- `.env` 文件中定义的以 `FES_APP_` 开头的变量 |