这是我的Gruntfile:
'use strict';
module.exports = function (grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
site: grunt.file.readYAML('_config.yml'),
coffee: {
dist: {
files: [{
expand: true,
cwd: "<%= site.src %>/assets/scripts",
src: "{,*/}*.coffee",
dest: "<%= site.tmp %>/assets/scripts",
ext: ".js"
}]
}
}
});
grunt.registerTask('default', ['coffee']);
}
我希望app/assets/scripts/globals.coffee
看起来像这样:
jQuery ($) ->
window.Site = "<%= site %>"
如何在CoffeeScript文件中插入site
变量?
我尝试使用像grunt-contrib-handlebars和grunt-contrib-jst这样的插件,但那些生成JST文件,我认为这不是我想要的。
答案 0 :(得分:1)
在我看来,Yaml和Assemble的数据组合可以满足您的需求。
http://assemble.io/docs/Data.html
FTA:
YAML示例
以下是YAML格式:
my-template.yml
title: Assemble author: Brian Woodward
这个模板:
my-template.hbs
<h1>{{ title }}</h1>
您可以调整它以在设置window.Site = {{site.name}}
的页面顶部插入脚本标记。