# 实战篇 02:项目脚手架
本节参考代码: react-boilerplate
经过了刀耕火种的插件化时代,伴随着越来越繁荣的 npm 生态,近几年来前端开发的三大件 HTML、CSS 及 JavaScript 都发生了不同程度上的进化,这也让开发或选择一个合适的项目脚手架(boilerplate)成为了前端项目的第一个难点。在 React 生态中,虽然已经有了像 create-react-app 这样官方指定的脚手架项目,但为了深入理解一个前端脚手架所需要承担的责任与能够解决的问题,不妨让我们删繁就简一起来搭建一个只包含最少依赖的功能齐全的项目脚手架。
# HTML 部分
在 JavaScript 框架接管了所有 DOM 相关的操作与更新后,HTML 方面的工作量就大量地减少了,很多时候只需要为框架提供一个可以注入 DOM 元素的根节点即可。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="app">
</div>
</body>
</html>
@前端进阶之旅: 代码已经复制到剪贴板
为了让页面的缩放比例与当前用户设备的屏幕尺寸保持一致,我们可以在模板中添加 HTML5 新引入的 viewport 属性,这对于需要支持移动端的项目非常重要。
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@前端进阶之旅: 代码已经复制到剪贴板
接下来再在 HTML 中添加应用标题 title,这里需要注意的是,因为我们不希望采用硬编码的方式来处理应用标题,而是希望将应用标题作为 webpack 插件中的一个变量注入到 HTML 模板中,所以需要选择一个模板语言来增强普通 HTML 的功能。这里我们以
