作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置Shake
用于构建 Web 应用程序。在构建过程结束时,我想重命名生成的 .js
和.css
根据内容哈希文件(用于缓存清除目的)。
这当然意味着我不知道这些文件的最终名称,类似于 app-<hash>.min.js
.
自构建最终规则index.html
需要知道关于名称,我需要类似的东西
"index.html" %> \out -> do
need [ "app-<hash>.min.js" ]
...
我尝试过使用phony
采取行动
"index.html" %> \out -> do
need [ "revJsAndCssFiles" ]
...
phony "revJsAndCssFiles" $ do
... -- Hash and copy files to appropriate locations
这可行,但看起来很丑,因为 phony
行动不应该生成一个文件。
解决这个问题的最佳方法是什么?
最佳答案
index.html
是否需要引用散列的 Javascript 文件?如果是这样,一种方法是:
"hash-js.txt" %> \out -> do
src <- readFile' "app.min.js"
let file = "app-" ++ show (hash src) ++ ".min.js"
writeFile' file src
writeFile' out file
"index.html" %> \out ->
js <- readFile' "hash-js.txt"
writeFile' out $ "<script src='" ++ js ++ ">"
这里有一个不断命名的规则(hash-js.txt
),它既生成您想要的文件(位于未知位置),又生成该文件的名称(位于固定位置) 。这样,当您需要 index.html
中的文件时,您都依赖它并获取结果文件名,这可能是必需的。
如果您不需要 index.html
中的文件名,那么这个技巧同样有效 - 那么您只需丢弃文件的内容 - 但感觉有点难看。
关于haskell - 摇一摇: how to proceed when file name is not known a-priori,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36576654/
我有这个代码:http://jsfiddle.net/Ym4NP/2/为什么“内容”div 不向上移动,只向下移动?以及如何将 $this(选择器)发送到回调函数? 最佳答案 我只会使用 jQuery
我是一名优秀的程序员,十分优秀!