2015-07-06 2 views
1
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 в активы/JS/зависимых
  2. копию активы .tmp/общественного

На данный момент. Сценарий не копирует 1. 2. за один проход. Мне нужно пробежать дважды sails lift

+0

Я предлагаю вам использовать беседку вместо npm для углового. Таким образом, вы можете определить в .bowerrc, где он помещает зависимости. – nhaa123

ответ

1

Это потому, что копирование с node_modules и копирование на .tmp/public выполняется асинхронно одновременно. Вам нужно будет связать их, поэтому скопируйте файл с node_modules, а затем скопируйте его в .tmp/public.

Эта ссылка моя помощь:

  1. Supercharging Grunt
  2. Stackoverflow, Grunt waiting task

Но мой совет, это ваш node_modules очень часто меняется? Если нет, я бы предпочел скопировать его вручную на assets. Потому что я также использую эту задачу автоматической цепочки, которая копирует из bower в assets, как и вы, но это очень сложно позже, поскольку в какой-либо библиотеке есть какая-то непоследовательная структура, например, некоторые шрифты под styles/fonts, другая lib. помещайте шрифты под root.lib/fonts, и усилие не является необходимым, на самом деле компонент акустики не очень часто меняется. Это просто необходимо при запуске нового проекта, позже компонент не меняется. Поэтому сейчас я предпочитаю копировать вручную до assets от bower_components.

Смежные вопросы