Gulp Browsersync会在每次文件更改时导致多次重新加载

时间:2016-05-19 06:21:13

标签: javascript node.js gulp browser-sync gulp-browser-sync

我正在使用Gulp的browsersync,在特定的文件更改上运行一些任务。每当我保存文件时,我的终端都会得到10 + public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final SharedPreferences prefs = getSharedPreferences("demopref", Context.MODE_WORLD_READABLE); final Button sosBtn=(Button) findViewById(R.id.button); sosBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String data = prefs.getString("demostring", "No Value"); SharedPreferences.Editor editor = prefs.edit(); editor.putString("demostring","HI..."); editor.commit(); //////////////////////////////// } }); SharedPreferences.OnSharedPreferenceChangeListener listener = new SharedPreferences.OnSharedPreferenceChangeListener() { public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { Toast.makeText(getApplicationContext(),"changed : " + key,Toast.LENGTH_LONG).show(); } }; prefs.registerOnSharedPreferenceChangeListener(listener); } } ,性能可以理解为滞后。

这是我的gulpfile:

[BS] Reloading Browsers...

我在这里做错了什么?

2 个答案:

答案 0 :(得分:8)

仅使用browserSync.stream({once: true}) (然后替换browserSync.reload)并像这样传递选项zoo

setClass(
  "rollingSD",
  slot = c(rollPeriod = "numeric", tsOutput = "zoo"),
  prototype=prototype(
    tsOutput=some_zoo_object
  )
)

这应该可行。

答案 1 :(得分:1)

Chokidar的awaitWriteFinish选项为我修复了它。

示例:

browserSync.init({
    server: dist.pages,
    files: dist.css + '*.css',
    watchOptions: {
        awaitWriteFinish : true
    }
});