は私がソースコードに変更を加えると、自動的にブラウザをリロードすると、私のファイルをバンドルするためのセットアップ一口に
私はしたいが欲しいです。マイbrowsersyncサーバーがページをリフレッシュしますが、古いコンテンツを
開発用サーバーにbrowser-sync
を、browserify
にjavacriptファイルを、gulp
にタスクランナーを割り当てています。
それは最初に勤務していましたが、私は、ソースファイルを保存するときに、今、ブラウザがリロードされますが、古いコードがロードされ、変更が反映されない問題
は何ですか。ブラウザを手動で更新する必要があります。
私はblame factor-bundle browserifyプラグインを提供しています。これは基本的にバンドルをA、B、Commonの3つのバンドルに分割しています(実際のアプリケーションコードが入っている私の場合はindex.js、tests.js、app.js)。 js)。私が持っているもの
これまで
gulpfile.js [関連するコードのみ]:
重要なコードですbundleTypescript
機能フル一気ファイルがここで見つけることができ
var gulp = require('gulp');
var browserify = require("browserify");
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var watchify = require("watchify");
var sourcemaps = require('gulp-sourcemaps');
var tsify = require("tsify");
var gutil = require("gulp-util");
var browserSync = require('browser-sync').create();
var merge = require('merge-stream');
var paths = {
entryPoint: "src/index.ts",
tests: "src/tests.ts",
distDir: "./dist/",
};
var config = {
externalModules: ['react', 'react-dom', 'react-router', 'react-bootstrap']
};
gulp.task('default', ['watch-typescript'], function() {
devServer();
});
function devServer() {
browserSync.init({
server: paths.distDir,
});
}
var bundler = browserify({
basedir: '.',
debug: true,
entries: [paths.entryPoint, paths.tests]
}).plugin(tsify); //can be replaced by watchify in watch-typescript
bundler.external(config.externalModules);
gulp.task("watch-typescript", function() {
var watchedBrowserify = watchify(bundler);
watchedBrowserify.on("update", function() { return bundleTypescript(true); });
watchedBrowserify.on("log", gutil.log);
bundler = watchedBrowserify;
});
function bundleTypescript(isDebug) {
var indexStream = source("index.js");
var testStream = source("tests.js");
bundler.plugin('factor-bundle', { outputs: [indexStream, testStream] });
var appStream = bundler.bundle()
.pipe(source('app.js'));
return merge(appStream, indexStream, testStream)
.pipe(buffer())
.pipe(sourcemaps.init({ debug: true, loadMaps: true }))
.pipe(sourcemaps.write("./"))
.pipe(gulp.dest(paths.distDir + 'scripts')) //output
.pipe(browserSync.stream()); //refresh browser
}
:https://jsfiddle.net/4ajba1nx/
なぜ変更が参照されないのですかブラウザ同期がブラウザをリロードするときに選択されます。
私はこれが私を助けてどのくらいを伝えることはできません。ここで
あなたはCSSの注入をがぶ飲み+ Browserfy + BrowserSyncを組み合わせたボイラープレートプロジェクトを見つけることができます!この問題に関する多くの議論では、リロードをトリガするコードに関するものです。配置は鍵です!私は酒の仕事の最後にパイプを持っていました。それは私の問題だった前のソースマップでした。リロードパイプをミニフィードパイプのすぐ下に移動した後、完全に機能しました。ありがとう! –
@ChrisDay私はそれが助けてうれしいです。 – Anass