我似乎找不到一种简单的方法来将所有文件从 Polymer 复制到使用 grunt-bower-task

grunt.initConfig({
    bower: {
        install: {
            options: {
                targetDir: 'wwwroot/lib',
                layout: 'byComponent',
                install: true,
                copy: true,
                verbose: true,
                cleanTargetDir: false,
                bowerOptions: {}
            }
        }
    }

我知道只有在每个元素的 bower.json 文件中定义的 main 文件会被复制。我也知道我可以在我自己的 bower.json 中放置一个 exportsOverride 部分以包含更多这样的文件 -
  "exportsOverride": {
    "*": {
      "": "*.*",
      "demo": "demo/*.*",
      "test": "test/*.*"
    }
  }

但这并不涵盖所有情况,因为某些元素具有更多子文件夹,而不仅仅是演示和测试。我是否必须手动查找它们并将它们的路径添加到 exportsOverride ,或者有一种我忽略的简单方法?

最佳答案

讨厌提供失败的样本....

FWIW 最近,我遇到了非常相似的问题……成功了但失败了

我所做的是放弃将第一个 polymer 项目的“dist”标签中的所有内容弄平的尝试。相反,我只是在离开 HTTP2 类型文件结构的一两个元素上运行 minify/ugly(深而许多,目录/文件。)

// the process belo NG . Manual edit needed on "polymer-min.html" go end and chg the js file name
    copy: {
      main: {
        files: [
          // includes files within path
          {expand: true, src: ['*html'], dest: 'dest/', filter: 'isFile'},
          // includes files within path and its sub-directories
          {expand: true, src: ['js/**', 'images/**' ,'css/**' ,'elements/**' ,'bower_components/**'], dest: 'dest/'},
        { src: ['tmp/csp/build-csp.html'], dest: 'dest/bower_components/cast-button-polymer/cast-button-polymer-min.html',
            filter: 'isFile',
            options: {
              process: function (content, srcpath) {
                return content.replace(/build-csp.js/g,"cast-button-polymer-min.js");
              },
            },
            },
        { src: ['tmp/csp/build-csp-min.js'], dest: 'dest/bower_components/cast-button-polymer/cast-button-polymer-min.js', filter: 'isFile'},
        ],
      },
},

关于gruntjs - grunt-bower-task 和 Polymer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30511033/

10-09 20:10
查看更多