【问题标题】:Make copy of copied files in grunt在 grunt 中复制复制的文件
【发布时间】:2015-07-07 06:53:52
【问题描述】:
module.exports = function(grunt) {

grunt.config.set('copy', {
    dev: {
        files: [
        {
          expand: true,
          cwd: './node_modules',
          src: [
              'angular/angular.js', 
              'angular-route/angular-route.js',
              'angular-mocks/angular-mocks.js', 
              'angular-loader/angular-loader.js',
          ],
          flatten: true,
          dest: './assets/js/dependencies'
        },
        {
            expand: true,
            cwd: './assets',
            src: ['**/*.!(coffee|less)'],
            dest: '.tmp/public'
        }]
    },

我想得到的是:

  1. 将文件从 node_modules 复制到 assets/js/dependencies
  2. 将资产复制到 .tmp/public

暂时。脚本不会一次复制 1. 2.。我需要跑两次sails lift

【问题讨论】:

  • 我建议你使用 bower 而不是 npm 来获取角度。这样,您可以在 .bowerrc 中定义它放置依赖项的位置。

标签: gruntjs sails.js


【解决方案1】:

这是因为从node_modules 复制和复制到.tmp/public 是同时异步运行的。您需要将它们链接起来,因此先从node_modules 复制文件,然后再复制到.tmp/public

此参考我的帮助:

  1. Supercharging Grunt
  2. Stackoverflow, Grunt waiting task

但是我的建议是,您的node_modules 经常改变吗?如果没有,我宁愿手动将其复制到assets。因为我也使用从bower 复制到assets 的自动链接任务,就像你做的那样,但是后来它非常复杂,因为某些库有任何不一致的结构,比如一些将字体放在styles/fonts 下,其他库。将字体放在root.lib/fonts 下并没有那么必要,实际上bower 组件并不经常更改。它只是在开始一个新项目时需要,以后组件不会改变。所以现在我更喜欢从bower_components手动复制到assets

【讨论】:

    猜你喜欢
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    相关资源
    最近更新 更多