很难理解在 grunt-usemin 的配置和使用中的各个点如何处理路径。
我有以下存储库布局,其中存储库根也将是 Web 应用程序根:
/dashboard/index.html
/Gruntfile.js
/vendor/...some 3rd party CSS and JS...
所以 index.html 文件 -> somedomain.com/dashboard/index.html。
index.html 文件包含 /vendor 文件夹中的一些 CSS 和 JS 资产。我已将 grunt 配置为将构建输出放在构建文件夹中:
/build/dashboard/index.html
在 index.html 文件中,我将 usemin 块包裹在所有 CSS 链接和 JS 脚本标签周围:
<!-- build:css(.) app.min.css -->
<!-- build:js(.) app.min.js -->
我必须用“(.)”指定一个“替代搜索路径”,以便“/vendor/backbone.js”的脚本标签可以在正确的位置找到它。在我这样做之前,它一直在寻找 /dashboard/vendor/backbone.js。
我希望将处理 CSS/JS 资产的输出输出到 build/dashboard/app.min.css 和 build/dashboard/app.min.js,并使用简单的相对“app.min.js”包含在 index.html 中。 css/js”路径。
问题是,grunt-usemin 似乎正在使用我为两个上下文指定的“app.min.*”路径,这使得它们无法一起工作:
1) 出于创建文件的目的,它将路径视为相对于构建目录的路径;这些文件最终位于 build/app.min.css 和 build/app.min.js 中。
2) 将路径视为相对于 index.html 文件的路径,以生成新的链接/脚本标签;浏览器加载 build/dashboard/index.html,然后尝试加载映射到 build/dashboard/app.min.css 的“app.min.css”。
有解决办法吗?