Sto provando a browserizzare la mia app di reazione per la produzione usando gulp e invidio all'impostazione di NODE_ENV. Quindi posso rimuovere l'avviso di reazione, la segnalazione degli errori nella console e persino il mio codice per disabilitare alcune funzionalità come la richiesta di react-addons-perf.Disabilita chrome reagisci DevTools per la produzione
E funziona benissimo. Quando cerco nei miei app.js per "produzione" per vedere se ci sono condizioni tipiche tesi:
if("development" !== "production") {
...
}
Non c'è nulla, quindi, come ho detto, sembra funzionare bene.
Ma, posso ancora vedere che chrome's reagisce scheda DevTools con tutti i componenti reagire, come se fossi in un sito web di sviluppo. Come posso disabilitare questa scheda negli strumenti di sviluppo di Chrome?
Ecco il mio compito sorso:
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');
}));
};
Il plug-in effettivo in Chrome? Perché vorresti farlo? Il tuo js non dovrebbe contenere nulla di sensibile. Perché Chrome ti consente, da un sito web, di modificare le cose in Chrome? Pensaci: sarebbe un enorme difetto di sicurezza, essere in grado di attivare/disattivare i contenuti nel browser degli utenti con javascript. –
Sì, il plugin per Chrome. Non preoccuparti, l'utente non può fare nulla se non è autenticato: ogni richiesta viene verificata con un token sul lato server con una chiave segreta forte (1024 caratteri). La mia domanda è, è possibile e come? Per quanto ne so, è possibile farlo, quindi qui sto chiedendo come e perché non sta funzionando con il mio compito di Gulp. – Poirette
Ah vedo, non funzionerà se non c'è un globale 'React' o' require', ma non sono sicuro di un'impostazione specifica –