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 № 1Supongo 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 :)