为任意代码生成提供示例是否有意义?
Would it make sense to provide a sample for arbitrary code generation?
我是车把的新手。我正在寻找一种通过某种输入数据从模板创建代码的通用方法。我发现车把非常适合这个目的。但是文档以服务器端/浏览器在线模板为中心(html)。我的运行时间是 shell。我阅读并尝试了 handlebars-cmd... 但收效甚微。我不知道如何在 handlebars-cmd 中包含我自己的助手或库,如 handlebars-helpers。
谁能帮我举个例子?
我写了一个示例。
我希望这一小段代码可以帮助其他人 运行 并测试他们的模板以及他们的帮助程序和部分...也许值得将其包含在示例目录或文档中。 ..
我想分享我在 node.js 中 运行 的第一个粗略样本
只是
npm i handlebars
npm i handlebars-helpers
npm i minimist
node hbrscmd.js --in some.json --template template.hbs --out myresult.txt
hbrscmd.js的内容:
var hbs = require('handlebars');
var helpers = require('handlebars-helpers')({
handlebars: hbs
});
var fs = require('fs');
var args = require('minimist')(process.argv.slice(2));
if (args.hasOwnProperty("v")) {
console.log(args);
}
var datastring = fs.readFileSync(args.in, 'utf8');
var data = JSON.parse(datastring);
if (args.hasOwnProperty("v")) {
console.log(data);
}
var templatefile = fs.readFileSync(args.template, 'utf8');
//console.log(templatefile);
var template = hbs.compile(templatefile);
var output = template(data);
fs.writeFileSync(args.out, output);
这是我喜欢的。
不进行检查。
我是车把的新手。我正在寻找一种通过某种输入数据从模板创建代码的通用方法。我发现车把非常适合这个目的。但是文档以服务器端/浏览器在线模板为中心(html)。我的运行时间是 shell。我阅读并尝试了 handlebars-cmd... 但收效甚微。我不知道如何在 handlebars-cmd 中包含我自己的助手或库,如 handlebars-helpers。
谁能帮我举个例子?
我写了一个示例。
我希望这一小段代码可以帮助其他人 运行 并测试他们的模板以及他们的帮助程序和部分...也许值得将其包含在示例目录或文档中。 ..
我想分享我在 node.js 中 运行 的第一个粗略样本 只是
npm i handlebars
npm i handlebars-helpers
npm i minimist
node hbrscmd.js --in some.json --template template.hbs --out myresult.txt
hbrscmd.js的内容:
var hbs = require('handlebars');
var helpers = require('handlebars-helpers')({
handlebars: hbs
});
var fs = require('fs');
var args = require('minimist')(process.argv.slice(2));
if (args.hasOwnProperty("v")) {
console.log(args);
}
var datastring = fs.readFileSync(args.in, 'utf8');
var data = JSON.parse(datastring);
if (args.hasOwnProperty("v")) {
console.log(data);
}
var templatefile = fs.readFileSync(args.template, 'utf8');
//console.log(templatefile);
var template = hbs.compile(templatefile);
var output = template(data);
fs.writeFileSync(args.out, output);
这是我喜欢的。 不进行检查。