Próbuję zrewidować w przeglądarce moją aplikację do reagowania na produkcje za pomocą łyka i zaktywizować do ustawienia NODE_ENV. Mogę więc usunąć ostrzeżenia o reakcji, zgłaszanie błędów w konsoli, a nawet mój kod, aby wyłączyć niektóre funkcje, takie jak wymagają reakcji-addons-perf.Wyłączanie reakcji Chrome DevTools do produkcji
I działa dobrze. Kiedy szukać w moich app.js dla „produkcji”, aby sprawdzić, czy są tezy typowe warunki:
if("development" !== "production") {
...
}
Nie ma nic, tak jak powiedziałem, wydaje się działać dobrze.
Ale nadal widzę, że Chrome reaguje na zakładkę DevTools ze wszystkimi komponentami reagowania, na przykład na stronie internetowej poświęconej projektowaniu. Jak mogę wyłączyć tę kartę w narzędziach programistycznych Chrome?
Oto moje zadanie łyk:
var production = process.env.NODE_ENV === 'production' ? true : false;
var environment = process.env.NODE_ENV ? process.env.NODE_ENV : 'dev';
...
var bundler = browserify({
debug: !production,
// These options are just for Watchify
cache: {}, packageCache: {}, fullPaths: true
})
.require(require.resolve('./dev/client/main.js'), { entry: true })
.transform(envify({global: true, _: 'purge', NODE_ENV: environment}), {global: true})
.transform(babelify)
.transform(reactify);
var start = Date.now();
bundler.bundle()
.on('error', function (err) {
console.log(err.toString());
this.emit("end");
})
.pipe(source('main.js'))
.pipe(gulpif(options.uglify, streamify(uglify())))
.pipe(gulpif(!options.debug, streamify(stripDebug())))
.pipe(gulp.dest(options.dest))
.pipe(notify(function() {
console.log('Built in ' + (Date.now() - start) + 'ms');
}));
};
Rzeczywista wtyczka w przeglądarce Chrome? Dlaczego chcesz to zrobić? Twój js nie powinien zawierać niczego wrażliwego. Dlaczego Chrome zezwala Ci na zmianę w Chrome w witrynie? Pomyśl o tym - to byłaby ogromna luka w zabezpieczeniach, by móc włączać i wyłączać rzeczy w przeglądarce użytkownika za pomocą javascript. –
Tak, wtyczka do Chrome. Nie martw się, użytkownik nie może nic zrobić, jeśli nie jest uwierzytelniony: każde żądanie jest sprawdzane za pomocą tokena po stronie serwera z silnym tajnym kluczem (1024 znak.). Moje pytanie brzmi: czy to możliwe i jak? O ile mi wiadomo, jest to możliwe, więc tutaj pytam, jak i dlaczego nie działa z moim trudem. – Poirette
Ah Widzę, to nie zadziała, jeśli nie ma globalnego 'React' lub' require', ale nie jestem pewien co do konkretnego ustawienia –