3

我使用 yeoman mobile-generator 创建了一个移动应用程序。
我对 grunt 和 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'
                ]
            }
        }
    },
4

1 回答 1

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
}
于 2013-11-02T12:35:44.760 回答