2016-03-22 2 views
0

Я хочу, чтобы мой Webpack каждый раз менял файл.Restart Webpack при каждом изменении файла

В настоящее время у меня есть такой код:

watchOptions: { 
    aggregateTimeout: 600, 
    poll: true 
}, 

(на основе https://webpack.github.io/docs/cli.html#watchoptions-poll)

, который работает, но не так, как хотелось бы.

Ожидаемое:

  • файл изменен
  • WebPack перезапускает
  • другой файл изменен
  • Webpack сразу перезагружается снова

Реальная ситуация:

  • файл изменен
  • WebPack перезапускает
  • другой файл изменен
  • Webpack первых нужно собрать все, и когда он сделал, он будет перезапущен снова

Любые решения/подсказки?

Возможно, это невозможно сделать в Webpack?

+0

'watch: true' Вы использовали его? –

+0

@ Да, у меня тоже есть – pbialy

ответ

1

Возможно, вы не понимаете, как webpack работает. Требуется файл от запись точка.

webpack.config.js

{ 
    entry: "./app.js", 
    output: { 
    path: __dirname, 
    filename: "bundle.js" 
    } 
} 

если запись файла имеет зависимости, рекурсивно принять все из них и компилировать в один файл, как bundle.js, например. Поэтому, если вы внесете небольшие изменения в свой файл (не имеет значения, какой из них), webpack должен перекомпилировать все изменения и дать вам new bundle.js файл. Если вы посмотрите на эту link вы увидите режим

Часы -

наблюдает все зависимости и перекомпилировать на изменения.

Так что ваши WebPack работает правильно, то невозможно, чтобы получить правильный bundle.js файла без компиляции всех файлы

Я надеюсь, что это поможет вам.

Thanks

+0

Итак, Webpack сравнивает «старый» bundle.js с «новым» bundle.js? Имеет смысл. Было бы неплохо, если бы можно было сказать, что Webpack для компиляции STOP, если файл изменяется во время компиляции, скомпилировать его снова и затем сравнить с «старым» файлом. И вот что я прошу здесь. Я не думаю, что это было бы невозможно. «Сервер», или что бы это ни было, нужно просто сделать две вещи одновременно - скомпилировать новый пакет и прослушать новые изменения. Если у нас есть новое изменение - прекратите компиляцию и сделайте это снова. – pbialy

+0

Вы сказали, что «невозможно получить правильный файл bundle.js без компиляции всех ваших файлов». Хорошо, но я не хочу получать bundle.js после, скажем, сначала сохранить файл, но после, скажем так, сохранить файл. После save_1 и save_2 я хочу, чтобы Webpack был компилирован START, но только после save_3 я хочу, чтобы он фактически завершил компиляцию и дал мне новый файл bundle.js. – pbialy

+0

@pbialy Я думаю, что он не сравнивает 'new' с' old'. Он отслеживает, были ли вы сделаны изменения или нет. –

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