makefile脚本将.erb生成
时间: 2023-10-05 07:06:27 浏览: 157
您可以使用以下的Makefile脚本来将ERB模板文件(.erb)转换为生成的文件(.html等):
```
# 定义需要编译的ERB模板文件
TEMPLATE = template.erb
# 定义生成文件的目标
TARGET = output.html
# 定义生成文件的命令
define generate_output
ruby -rerb -e 'puts ERB.new(File.read("$<")).result' > $@
endef
# 声明生成文件的目标
.PHONY: all
all: $(TARGET)
# 声明生成文件的依赖
$(TARGET): $(TEMPLATE) Makefile
$(generate_output)
# 声明清理目标
.PHONY: clean
clean:
rm -f $(TARGET)
```
该脚本使用Ruby的ERB模板引擎来编译ERB模板文件。它将使用`template.erb`文件来生成`output.html`文件。要生成该文件,只需运行`make`命令即可。如果您要清理生成的文件,可以运行`make clean`命令。
相关问题
makefile脚本中 erb是什么意思
在Makefile中,`erb`是一个命令,用于将ERB模板文件编译为普通文本文件。ERB是Embedded Ruby的缩写,是一种模板语言,它允许您在文本文件中嵌入Ruby代码。
`erb`命令是Ruby标准库的一部分,用于编译ERB模板文件。`erb`命令将读取ERB模板文件并将其编译为普通文本文件,其中所有嵌入式Ruby代码都将被执行并替换为其结果。
例如,运行以下命令:
```
erb template.html.erb > output.html
```
将使用`template.html.erb`文件作为输入,将其编译为普通文本文件,并将结果输出到`output.html`文件中。在`template.html.erb`文件中,您可以嵌入任意数量的Ruby代码,例如:
```html
<html>
<head>
<title><%= title %></title>
</head>
<body>
<h1><%= heading %></h1>
<% items.each do |item| %>
<p><%= item %></p>
<% end %>
</body>
</html>
```
在上面的示例中,`<%= %>`标记用于嵌入Ruby表达式,这些表达式将在编译模板文件时被执行并替换为其结果。
阅读全文