Désactiver chrome réagir DevTools pour la production
Je suis en train de browserify mon réagir application pour la production à l'aide de trait et envify à l'installation NODE_ENV. Donc, je peux supprimer réagir avertissement, les rapports d'erreurs dans la console, et même mon code pour désactiver certaines fonctionnalités comme le besoin de réagir-addons-perf.
Et c'est génial de travailler. Quand je recherche dans mon app.js pour la "production" pour voir si il y a des thèses conditions typiques :
if("development" !== "production") {
...
}
Il n'y a rien, donc, comme je l'ai dit, il semble bien fonctionner.
Mais, je suis encore capable de voir que google chrome, réagir DevTools onglet avec tous réagir, les composants, comme si j'étais sur un site de développement. Comment puis-je désactiver cet onglet dans google chrome dev tools ?
Voici mon gulp tâche :
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');
}));
};
- La réelle plugin dans le navigateur Chrome? Pourquoi voudriez-vous faire cela? Votre js ne doivent pas contenir quelque chose de sensible. Pourquoi google Chrome vous permettent, à partir d'un site web, pour changer des choses dans Chrome? Pensez - y, ce serait une énorme faille de sécurité, pour être en mesure de tourner des trucs on/off dans les utilisateurs d'un navigateur avec javascript.
- Oui, le plugin chrome. Ne vous inquiétez pas, l'utilisateur ne peut pas ne rien faire si il n'est pas authentifié : chaque demande est vérifiée avec un jeton sur le côté serveur avec une forte clé secrète (1024 char.). Ma question est, est-il possible, et comment ? Autant que je sache, il est possible de faire pour elle alors je suis ici pour demander comment et pourquoi il ne fonctionne pas avec ma gorgée de la tâche.
- Ah je vois, il ne fonctionnera pas s'il n'y a pas un mondial
React
ourequire
, mais pas sûr au sujet d'un paramètre spécifique - J'ai récemment publié un package pour désactiver la Réagir Outils de Développeur de plugin: npmjs.com/package/@fvilers/disable-react-devtools
Vous devez vous connecter pour publier un commentaire.
Selon une question sur Github, vous pouvez ajouter exécuter une seule ligne de javascript avant de réagir est chargé de l'empêcher.
De #191 de réagir-devtools
Ensuite, vous pourriez envisager de l'emballage avec votre environnement, comme ça, on pourrait faire qqch comme ci-dessous dans votre serveur de rendu côté. Disons Carlin (anciennement connu comme le Jade):
Cependant, il serait toujours une bonne pratique de mettre de la logique métier et les données sensibles de retour à votre serveur.
chrome://extensions/
pour voir si le "Réagir Outils de développement" est activéif (window){ ... }
__REACT_DEVTOOLS_GLOBAL_HOOK__
est encore défini en premier.Si vous utilisez
redux-devtools-extension
vous pouvez le faire.Ce sera assurez-vous que votre devtools extension ne fonctionne que dans l'environnement de développement et non pas dans l'environnement de production
Seulement d'améliorer @peteriod réponse, assurez-vous que Dev outil est installé ou pas