我在使用yeoman/grunt和usemin时遇到了困难 - 当我有子文件夹时,尝试同时使输出文件正常工作并在html中编写正确路径。我的基本设置是有顶级页面(例如index.html),还有语言特定的子文件夹页面(en、de、fr等)。每个页面都有公共的js文件(如jquery),但也有语言特定的js文件(css也是如此,但保持简单...)。
基本上,有一个顶层的index.html文件,其中包含jquery等内容。因此,其中的脚本标记可能如下所示:
或者使用rev
或使用rev属性。
我已经尝试了我能想到的所有组合方式,似乎归结为如果在build:js路径中写入../,则实际文件将放置在app文件夹的上一级目录中,但是HTML中的路径是正确的。如果我省略../,它会将文件放在正确的位置,但是HTML中也没有../(显然需要),那么我该如何表达我希望输出文件引用上一级目录(即en/文件夹之外),但不要让grunt将其放置在上一级目录(即dist文件夹之外)?
谢谢!
– Gruntfile.js
– app
|– index.html
|– js
jquery.js
|– en
english.js
|– de
german.js
|– css
|– en
|– index.html
|– de
|– index.html
– dist
基本上,有一个顶层的index.html文件,其中包含jquery等内容。因此,其中的脚本标记可能如下所示:
<script src="js/jquery.js"></script>
或者使用rev
<script src="js/123.jquery.js"></script>
但是在en/index.html中,脚本标记应该像这样(对于常见的 - 如jquery)
<script src="../js/jquery.js"></script>
或使用rev属性。
<script src="../js/123.jquery.js"></script>
问题出在../ 上。
我可以构建js文件但不能对其进行版本控制,或者版本控制了但是为空,或者构建并且版本控制成功但存储位置不正确(通常在应用程序和dist文件夹之外/上方)!
在en/index.html中-我无法确定build:js应该是什么样子的 例如。
<!-- build:js js/jquery.js -->
<script src="../js/jquery.js"></script>
<!-- endbuild -->
<!-- build:js js/en/english/jquery.js -->
<script src="../js/en/english.js"></script>
<!-- endbuild -->
我已经尝试了我能想到的所有组合方式,似乎归结为如果在build:js路径中写入../,则实际文件将放置在app文件夹的上一级目录中,但是HTML中的路径是正确的。如果我省略../,它会将文件放在正确的位置,但是HTML中也没有../(显然需要),那么我该如何表达我希望输出文件引用上一级目录(即en/文件夹之外),但不要让grunt将其放置在上一级目录(即dist文件夹之外)?
谢谢!