让Grunt在开发和生产中包含不同的Javascript文件

时间:2014-06-25 15:32:50

标签: gruntjs

我正在尝试Grunt并且有关于在开发阶段和后续阶段中包含javascript文件的问题。澄清:缩小,连接等不是这里的问题 - 只是输出/替换。

在开发阶段,我想要包含个人的javascript库和文件 - 用于调试,也许只是因为我一直这样做,不知怎的,我不喜欢它们在开发中连接。因此,在开发时我想在HTML文件中输出以下内容:

<script src="js/lib-1.js"></script>
<script src="js/lib-2.js"></script>
<script src="js/lib-3.js"></script>
...

然后,对于制作或舞台演出,我想要输出咕噜声:

<script src="js/all-files-in-one.js"></script>

如何以最简单的方式实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可能需要查看grunt-usemin插件(https://github.com/yeoman/grunt-usemin)。 Here's a simple example.

基本上,如果我有一些javascript文件,我想连接成一个文件(或者我希望每组连接成单个文件的javascript文件集),我可以把引用这些文件的脚本标签放在&#34;建立&#34;块。

<!-- build:js assets/js/foobar.js -->
<script src="./assets/js/foo.js"></script>
<script src="./assets/js/bar.js"></script>
<!-- endbuild -->

<!-- build:js assets/js/bazbuz.js -->
<script src="./assets/js/baz.js"></script>
<script src="./assets/js/buz.js"></script>
<!-- endbuild -->

现在,当我运行一个包含&#39; useminPrepare&#39;并且&#39; usemin&#39;任务,我的index.html中的那些脚本标签将替换为:

<script src="assets/js/foobar.js"></script>
<script src="assets/js/bazbuz.js"></script>

示例和文档解释了如何配置它并将其用于其他资产,如css。