我正在尝试使用 Grunt 作为我的网络应用程序的构建工具。
我想至少有两个设置:
I. 开发设置- 从单独的文件加载脚本,不串联,
所以我的 index.html 看起来像:
<!DOCTYPE html>
<html>
<head>
<script src="js/module1.js" />
<script src="js/module2.js" />
<script src="js/module3.js" />
...
</head>
<body></body>
</html>
二。生产设置- 加载我的脚本缩小并连接在一个文件中,
相应地使用 index.html:
<!DOCTYPE html>
<html>
<head>
<script src="js/MyApp-all.min.js" />
</head>
<body></body>
</html>
问题是, 当我运行 grunt dev
或 grunt prod
时,我如何根据配置制作这些 index.html?
或者也许我在错误的方向上挖掘并且总是生成 MyApp-all.min.js
会更容易,但将我的所有脚本(连接)或从单独文件异步加载这些脚本的加载器脚本放入其中?
伙计们,你们是怎么做到的?
原文由 Dmitry Pashkevich 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想出了我自己的解决方案。还没有完善,但我想我会朝着那个方向前进。
本质上,我正在使用 grunt.template.process() 生成我的
index.html
从分析当前配置并生成我的原始源文件列表或链接到带有缩小代码的单个文件的模板.下面的示例适用于 js 文件,但同样的方法可以扩展到 css 和任何其他可能的文本文件。grunt.js
:index.js (the index task)
:最后,
index.tmpl
,包含生成逻辑:更新。 发现基于 grunt 的 Yeoman 有一个内置的 usemin 任务,它与 Yeoman 的构建系统集成。它根据 index.html 开发版本中的信息以及其他环境设置生成 index.html 的生产版本。有点复杂,但看起来很有趣。