Удалите консольные предложения javascript из источника, используя gsub - PullRequest
1 голос
/ 27 сентября 2011

Я нуб в ruby, и я пишу простой rakefile ...

одна из моих задач удалить из файлов javascript строки "console", что вы думаете о текущем фрагменте?

def self.remove_debug()
  FileList[File.join(DIST_DIR, '**/console-nodebug.js')].each do |file_name|
    puts "file: #{file_name}"
    content = File.read(file_name).gsub(/console\..*?;/m, "// console removed")
    File.open(file_name, 'wb') { |file| file.write(content) }
  end
end 

это хорошо ?? мне нужно что-то изменить?

Я тестирую код, и все идет хорошо, но ... я ищу хорошие практики ...

Thks!

1 Ответ

0 голосов
/ 28 сентября 2011

Я бы порекомендовал иметь переменную отладки, чтобы ruby ​​инициализировал эту переменную (я действительно мало знаю о ruby, я оставляю это вам, я думаю, что-то вроде внедрения этого в html-файл). И тогда в вашем файле JS вы можете сделать так:

if (debug) {
  console.log("I'm debugging! Yay!! XD");
}

По моему скромному мнению, это лучше, чем модифицировать файл.

Надеюсь, это помогло, удачи!

== EDIT ==

Если это сжатый файл, который вам нужно сжать, я бы предложил заменить ваше регулярное выражение бу "/ * консоль удалена * /" вместо "// консоль удалена", на случай, если после этой строки будет еще какой-то код.

Кроме этого, я думаю, с тобой все будет в порядке. Это работает?

...