Ich versuche meine reagiere App für die Produktion mit Hilfe von gulp und envify zu browserfizieren, um NODE_ENV einzurichten. So kann ich reagieren Warnung, Fehlerberichte in der Konsole und sogar meinen Code, um einige Funktionen wie die Anforderung von react-addons-perf zu deaktivieren.Deaktivieren Chrom reagieren DevTools für die Produktion
Und es funktioniert super. Als ich in meinem app.js für „Produktion“ zu sehen, zu suchen, wenn es Thesen sind typische Bedingungen:
if("development" !== "production") {
...
}
Es gibt nichts, so, wie ich schon sagte, es scheint gut zu funktionieren.
Aber ich kann immer noch sehen, dass Chrome DevTools Tab mit allen reagierenden Komponenten reagieren, als ob ich auf einer Entwicklungswebsite wäre. Wie kann ich diese Registerkarte in den Dev-Tools von Chrome deaktivieren?
Hier ist meine Aufgabe schluck:
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');
}));
};
Das eigentliche Plugin in Chrome? Warum willst du das machen? Deine js sollte nichts Sensibles enthalten. Warum ermöglicht Ihnen Chrome, auf einer Website, Dinge in Chrome zu ändern? Denken Sie darüber nach - das wäre eine massive Sicherheitslücke, um Dinge im Browser des Benutzers mit Javascript ein-/ausschalten zu können. –
Ja, das Chrome-Plugin. Keine Sorge, der Benutzer kann nichts tun, wenn er nicht authentifiziert ist: Jede Anfrage wird mit einem Token auf der Serverseite mit einem starken geheimen Schlüssel (1024 Zeichen) überprüft. Meine Frage ist, ist es möglich und wie? Soweit ich weiß, ist es möglich, es zu tun, also frage ich hier, wie und warum es nicht mit meiner Schluckaufgabe funktioniert. – Poirette
Ah ich sehe, es wird nicht funktionieren, wenn es keine globale 'React' oder' require' gibt, aber nicht sicher über eine bestimmte Einstellung –