Opción basada en Browserify (Requerir como JS)
No puedo entender cómobrowserifybasedir
opción trabajos..
Nota: Puedo estar equivocado en mi comprensión del todobasedir
concepto porque vengo de RequireJS (piensebaseUrl
)
EDITAR De hecho, me equivoqué, pero aún puedes lograr lo que estaba tratando de hacer con elpaths
opción, vea mi respuesta a continuación.
Entiendo que elbasedir
La opción le brinda la capacidad (¡la libertad!) de especificar todas las rutas requeridas (comenzando con un.
) desde un directorio raíz / base estático. Y NO desdeprocess.cwd()
..
Esto literalmente me está volviendo loco, pensé que tal característica sería tan básica de implementar y que mucha gente se habría encontrado con el mismo problema que yo, pero en realidad hay muy poca información en la web sobre cómo configurar correctamentebasedir
opción ... Y confía en mí, esto no es sencillo ...
Así que aquí está el ejemplo BÁSICO que me está volviendo loco.
Dada la siguiente estructura de archivos:
js/
js/app.js
js/src/models/Person.js
js/src/views/PersonView.js
Y corriendo:
var browserify = require('browserify');
var gulp = require('gulp');
gulp.task('scripts', function() {
var b = browserify('./app', {basedir: './js'});
b.bundle().pipe(gulp.dest('./dist'));
});
Esperaría poder hacer lo siguienterequire()
llamarPersonView.js
:
var Person = require('./src/models/Person');
...
En lugar de (que obviamente está funcionando ...):
var Person = require('../models/Person');
...
Pero me sale el siguiente error:
Error: module "./src/models/Person" not found from "/Users/...some path.../js/src/views/PersonView.js"
¿Qué me estoy perdiendo de labasedir
¿opción?