Как настроить gruntfile, чтобы скомпилированные файлы находились в том же каталоге, что и их исходные - PullRequest
1 голос
/ 24 октября 2019

Я работаю над действительно старым проектом, который использовал Grunt 0.3 и Coffee, и мне нужно обновить его до более новых версий обоих, но я не особенно знаком с Grunt. Ранее Grunt компилировал файлы .js в ту же самую папку и имя исходных файлов .coffee, и мне нужно сохранить это таким образом. Однако у меня возникли проблемы с настройкой задачи. Вот что у меня сейчас:

coffee: {
  options: {
  bare: true,
  sourceMap: true,
  expand: true,
  flatten: false,
  cwd: '.',
  src: ['**/*.coffee'],
  dest: '.',
  ext: ".js"
  }
}  

Вот такое сообщение я получаю:

C:\projetos\sesc-bertioga\bertioga-server\src\main\webapp (newGrunt -> origin) (sesc-bertioga@1.0.0)
λ grunt watch
Running "watch" task
Waiting...
>> File "public\javascript\app\views\solicitacao_grupo\tripulacao_view.coffee" changed.
>> No "coffee" targets found.
Warning: Task "coffee" failed. Use --force to continue.

Я абсолютно не могу сменить место вывода, новоефайлы должны находиться в том же каталоге, что и исходные. У вас есть идеи?

1 Ответ

0 голосов
/ 04 ноября 2019

Так что после некоторого возни, мой друг придумал это, на случай, если у кого-то возникнет подобная проблема!

coffee: {
      files: {
        expand: true,
        cwd: 'public/javascript/app',
        src: ['**/*.coffee'],
        dest: 'public/javascript/app/',
        ext: '.js',
        rename: (dest, src) => {
          return (dest + src.replace('coffee', 'js'))
        }
      },
      options: {
        bare: false,
        sourceMap: false,
        flatten: false,
        app: {
          src: ['public/javascript/app/**/*.coffee'],
        }
      }
    }  

Спасибо, в любом случае =)

...