que online nodejs node modulos babelify node.js browserify

node.js - online - ¿Cómo detectar cuándo se está ejecutando browserify?



node js browser (3)

Encontré la respuesta:

if (typeof window === ''undefined'') { var request = require(''request''); } else { var request = require(''browser-request''); }

¡Superagent también se ve como una muy buena alternativa!

Tengo una biblioteca que quiero usar tanto en el lado del cliente como en el del servidor. Sin embargo, debido a que la request no es compatible con browserify, al compilar con browserify, necesito usar una biblioteca diferente llamada browser-request

if (inNodejsRuntime) { var request = require(''request''); } else if (isBrowserifyRuntime) { var request = require(''browser-request''); }

¿Cómo hago para detectar cuándo se está ejecutando la navegación cuando está dentro del nodo?


La respuesta aceptada es correcta. Pero si llegó aquí buscando en Google ''detectar browserify'' y desea una respuesta más general, browserify transformará automáticamente el process global provisto por el nodo. Puedes usar:

process.browser

Lo que será true en el navegador, undefined en nodo.


Si solo está haciendo un simple intercambio de módulos con API compatibles, debe usar el campo del navegador en package.json. Así que para tu ejemplo, solo haz

var request = require(''request'')

como antes y luego en el package.json ponemos:

{ "browser": { "request": "browser-request" } }

De esta manera, en el navegador obtendrá una solicitud de navegador en lugar de una solicitud cuando la require(''request'') .

Lo que no debe hacer es requerir ambos módulos con un control de tiempo de ejecución para detectar la presencia de una window o alguna propiedad similar. Esto se debe a que obtendrá una solicitud de navegador Y una solicitud agrupada en su código de interfaz, incluso si solo usa la solicitud de navegador, lo que resulta en un tamaño de archivo inflado innecesariamente.