这个问题是如此简单和常见,但我仍然无法找到一个好的解决方案。所以我想也许 Stackoverflow 的一些专家可以指导我了解最佳实践。
假设我有几个 Javascript 模块并将它们分别放在一个单独的文件中:
a.js
b.js
c.js
d.js
在发布软件时,我将它们连接在一起并缩小它们:
//pseudo command:
cat a.js b.js c.js d.js | minify > all.js
然后我在我的 html 文件中包含对 all.js 的引用,如下所示:
<script src="all.js"></script>
到目前为止,一切都很好。问题是,在开发软件时,我希望看到文件未缩小且未合并。一种解决方案是消除过程中的缩小,并这样做:
//pseudo command:
cat a.js b.js c.js d.js > all.js
并将其包含在<script>
标签中。这可行,但我更希望将文件单独包含在内。所以我必须在我的 html 文件中这样做:
<script src="a.js"></script>
<script src="b.js"></script>
<script src="c.js"></script>
<script src="d.js"></script>
这个按我的意图工作,但是在发布代码时,我必须检查所有的 html 文件并用这 4 个<script>
标签替换<script src="all.js"></script>
,这对我的项目来说工作量太大了,因为有很多 html 文件,而且我们定期进行调试/发布周期.
一种解决方案是为所有文件添加脚本标签:
<script src="a.js"></script>
<script src="b.js"></script>
<script src="c.js"></script>
<script src="d.js"></script>
<script src="all.js"></script>
但这会在运行时导致 4 个错误请求。(因为在发布时只有 all.js 可用)。
你将如何解决这个问题?