2015-01-26 9 views
12

Sto usando browserify e watchify, e vorrebbe file di require() oltre alle estensioni predefinite .js e .json senza specificare l'estensione, per esempio:Richiede file JSX senza specificare l'estensione

// Not ideal (tedious) 
var Carousel = require('./components/Carousel/Carousel.jsx') 

// Ideal 
var Carousel = require('./components/Carousel/Carousel') 

I hanno provato --extension=EXTENSION come specificato nella documentazione browserify:

"scripts": { 
    "build": "browserify ./src/App.js --transform [ reactify --es6 ] > dist/script.js -v -d --extension=jsx", 
    "watch": "watchify ./src/App.js --transform [ reactify --es6 ] -o dist/script.js -v -d --extension=jsx" 
}, 

Tuttavia non vedo alcuna modifica. È possibile? Quale sarebbe il modo giusto per farlo?

risposta

15

Modifica (27 aprile 2015): Ho appena notato che nella questione, ho avuto un argomento non valido per extension, in questo modo:

"watch": "watchify ./src/App.js --extension=jsx -o dist/script.js -v -d" 

Dovrebbe essere (notare la . (dot) in --extension=.jsx):

"watch": "watchify ./src/App.js --extension=.jsx -o dist/script.js -v -d" 

risposta originale:

Aggiunta l'opzione browserify-package.json ha fatto per browserify ma non per watchify.

"scripts": { 
    "build": "browserify ./src/App.js > dist/script.js -v -d", 
    "watch": "watchify ./src/App.js -o dist/script.js -v -d" 
}, 
"browserify": { 
    "extension": [ "jsx" ], 
    "transform": [ [ "reactify", { "es6": true } ] ] 
} 

Aggiungere nell'opzione extension per il comando watch fatto watchify lavoro.

"watch": "watchify ./src/App.js --extension=.jsx -o dist/script.js -v -d" 

Tuttavia, non SECCO. Mi piacerebbe mantenere i miei comandi più brevi possibile, ma ~ oh bene ~.

+4

Per me browserify funziona solo se imposto l'estensione con '--extension = .jsx'' – Amida

+1

uguale a @amida. l'opzione di estensioni sembra essere completamente rotta tramite package.json o node api – 4m1r

Problemi correlati