yeoman,grunt - 如何在生成的文件中添加横幅

时间:2013-11-02 11:07:13

标签: gruntjs yeoman yeoman-generator

我使用yeoman移动生成器创建了一个移动应用程序。
我是咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜 有谁知道我要做什么为生成的文件添加横幅?

   meta: {
        version: '0.1.0',
        banner: '/*! PROJECT_NAME - v<%= meta.version %> - ' +
            '<%= grunt.template.today("yyyy-mm-dd") %>\n' +
            '* http://PROJECT_WEBSITE/\n' +
            '* Copyright (c) <%= grunt.template.today("yyyy") %> ' +
            'MyName; Licensed MIT */'
    },

我必须使用它。我尝试过这样的事情但不影响。

    usemin: {
        options: {
            dirs: ['<%= yeoman.dist %>']
        },
        html: ['<%= yeoman.dist %>/{,*/}*.html'],
        css: ['<banner:meta.banner>', '<%= yeoman.dist %>/styles/{,*/}*.css']
    },

...

    cssmin: {
        dist: {
            files: {
                '<%= yeoman.dist %>/styles/main.css': [
                    '<banner:meta.banner>', 
                    '.tmp/styles/{,*/}*.css',
                    '<%= yeoman.app %>/styles/{,*/}*.css'
                ]
            }
        }
    },

1 个答案:

答案 0 :(得分:13)

横幅进入选项对象:

cssmin: {
    dist: {
        options: {
            banner: '<%= meta.banner %>'
        },
        files: {
            '<%= yeoman.dist %>/styles/main.css': [
                '.tmp/styles/{,*/}*.css',
                '<%= yeoman.app %>/styles/{,*/}*.css'
            ]
        }
    }
}

帽子提示:我还会使用package.json中的元数据,这样就可以在Gruntfile中保存重复的元数据,并且您也可以将该横幅配置重用于其他项目而无需更改。

grunt.initConfig({
    // pkg: grunt.file.read('package.json'),
    pkg: grunt.file.readJSON('package.json'),
    banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
            '<%= grunt.template.today("yyyy-mm-dd") %>\n' +
            '* http://<%= pkg.homepage %>/\n' +
            '* Copyright (c) <%= grunt.template.today("yyyy") %> ' +
            '<%= pkg.author.name %>; Licensed MIT */',
    cssmin: {
        dist: {
            options: {
                banner: '<%= banner %>'
            },
            files: {
                '<%= yeoman.dist %>/styles/main.css': [
                    '.tmp/styles/{,*/}*.css',
                    '<%= yeoman.app %>/styles/{,*/}*.css'
                ]
            }
        }
    }
    // rest of your config...
});

package.json

{
    "name":                         "project name",
    "version":                      "0.1.0",
    "homepage":                     "https://stackoverflow.com",
    "author": {
        "name":                     "your name",
        "email":                    "your email",
        "url":                      "your website"
    }
    // devDependencies, etc
}