/ / Bundle reacciona en un archivo externo con browserify - gulp, browserify, babeljs

El paquete reacciona en un archivo externo con browserify - gulp, browserify, babeljs

Así que he visto esta pregunta respondida varias vecesde diferentes maneras, pero parece que no puedo hacer que funcione. El paquete que creo parece funcionar, excepto que se pega en el interior y lo duplica, ya que también está en vendor.js.

var gulp = require("gulp");
var source = require("vinyl-source-stream");
var browserify = require("browserify");



gulp.task("default", function() {

// app
var appBundler = browserify({
entries: ["./client/main.js"],
transform: [["babelify", {"presets": ["es2015", "react"]}]]
})

appBundler.external("react")

appBundler.bundle()
.pipe(source("bundle.js"))
.pipe(gulp.dest("./public"))

// vendors
browserify({
debug: true,
require: ["react"]
}).bundle()
.pipe(source("vendors.js"))
.pipe(gulp.dest("./public"))

});

Respuestas

1 para la respuesta № 1

Supongo que no puedes separarte reaccionando sin reaccionar si lo estás usando. Resulta que mi problema se solucionó añadiendo también react-dom a mis externos

appBundler.external(["react", "react-dom"])

Mi super simple ejemplo de hello world importó "react-dom". :

¡Gracias por la ayuda! Estas preguntas me llevaron a profundizar un poco más en las versiones y las importaciones y me llevaron a mi respuesta :)