【问题标题】:Pass Grunt Jade Options to File将 Grunt Jade 选项传递给文件
【发布时间】:2014-08-24 16:06:52
【问题描述】:

我正在使用 grunt-contrib-jade,我想使用 pkg.name 和 pkg.version 来构建我的 css 文件名。我无法让它工作,希望有人可以帮助我。这是我所拥有的:

Gruntfile中jade任务的一部分

compile: {
    options: {
        data  : {
            app    : '<%= pkg.name %>',
            version: '<%= pkg.version %>',
        },
        pretty: true
    }

然后在我的玉文件中我有:

link(href='_assets/css/<%= app %>-<%= version %>.css', rel='stylesheet', media='screen')

不知道如何从 Gruntfile 中的翡翠任务的编译选项中添加数据。

提前感谢您的帮助

【问题讨论】:

    标签: javascript gruntjs


    【解决方案1】:

    您似乎尚未将 package.json 加载到您的 Grunt 配置中,请将以下内容添加到您的 grunt 文件中。

    grunt.initConfig({
       pkg: require("./package.json"),// <---- add this line
       compile: {
           options: {
              data  : {
                  app    : '<%= pkg.name %>',
                  version: '<%= pkg.version %>',
              },
              pretty: true
           }
      }
    });
    

    我个人更喜欢将它添加到如下元对象下:

    grunt.initConfig({
       meta{
          pkg: require("./package.json"),// <---- add this line
       },
       compile: {
           options: {
              data  : {
                  app    : '<%= meta.pkg.name %>', // <-- notice i added meta
                  version: '<%= meta.pkg.version %>',// <-- notice added meta
              },
              pretty: true
           }
      }
    });
    

    您也可以尝试以下方法:

    var pkg = require("./package.json");
    
    grunt.initConfig({
       compile: {
           options: {
              data  : {
                  app    : pkg.name, // <-- notice no quotes and no micro templating
                  version: pkg.version ,// <-- notice no quotes and no micro templating
              },
              pretty: true
           }
      }
    });
    

    这种方法不像前一种方法那样动态。

    【讨论】:

    • 感谢您深入了解如何执行此操作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 2014-04-15
    • 2010-09-12
    • 1970-01-01
    相关资源
    最近更新 更多