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

chr*_*ris 3 gruntjs yeoman yeoman-generator

我用自耕农移动发电机创建了一个移动应用程序.
我对咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜
有谁知道我要做什么为生成的文件添加横幅?

   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 */'
    },
Run Code Online (Sandbox Code Playgroud)

我必须使用这个.我尝试过类似的东西,但不影响.

    usemin: {
        options: {
            dirs: ['<%= yeoman.dist %>']
        },
        html: ['<%= yeoman.dist %>/{,*/}*.html'],
        css: ['<banner:meta.banner>', '<%= yeoman.dist %>/styles/{,*/}*.css']
    },
Run Code Online (Sandbox Code Playgroud)

...

    cssmin: {
        dist: {
            files: {
                '<%= yeoman.dist %>/styles/main.css': [
                    '<banner:meta.banner>', 
                    '.tmp/styles/{,*/}*.css',
                    '<%= yeoman.app %>/styles/{,*/}*.css'
                ]
            }
        }
    },
Run Code Online (Sandbox Code Playgroud)

Ben*_*Ben 13

横幅进入选项对象:

cssmin: {
    dist: {
        options: {
            banner: '<%= meta.banner %>'
        },
        files: {
            '<%= yeoman.dist %>/styles/main.css': [
                '.tmp/styles/{,*/}*.css',
                '<%= yeoman.app %>/styles/{,*/}*.css'
            ]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

帽子提示:我也会使用元数据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...
});
Run Code Online (Sandbox Code Playgroud)

并在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
}
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是CSSMin不再支持`banner`选项 (3认同)