目前我正在为我正在处理的元素使用静态 HTML 页面,它们都需要相同的 CSS 和 JS 文件。现在我不想复制脚本,而是想用 GruntJS 插入所有标签。
例如,如果我们有'css/style.css',那么插入
<link rel="stylesheet" href="css/style.css">
但是它不应该被硬编码,因此它应该插入实际的文件名和路径。这有可能吗?
最佳答案
几个想法:
首先,使用 grunt-template 设置内容处理的 contrib-copy:
grunt.config('copy', {
options: {
processContent: function (content, srcpath) {
return grunt.template.process(content);
}
}
});
现在,每当您将 html 文件复制到它们的目的地时,任何 grunt 模板标记都将被替换为适当的值。
假设你有一个这样的 html 文件:
<html>
<head>
<%= something %>
</head>
</html>
那么你所需要的就是在你的配置中的某个地方:
grunt.initConfig({
something: "<doh></doh>"
});
现在,“某物”的内容可能应该来自另一个任务的结果(一个将复制所有 css/js 文件的任务)——这应该不难做到。
您可能应该先尝试一下,阅读文档,使用 grunt-template、grunt-contrib-copy 进行一些测试,并创建自定义 grunt 任务——然后提出更具体的问题。
http://gruntjs.com/creating-tasks
https://github.com/gruntjs/grunt-contrib-copy
http://gruntjs.com/api/grunt.template
希望对您有所帮助。
关于javascript - 使用 GruntJS 将 CSS 和 JS 文件嵌入到 HTML 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21066776/