Quando ho un file di x.js che assomiglia a questo:Come esporre 'require' al browser quando si utilizza browserify all'interno di gulp?
x.js
module.exports = function (n) { return n * 111 }
e corro browserify dalla riga di comando in questo modo:
browserify -r ./x.js > bundle.js
ottengo un file di output che assomiglia a questo (più o meno):
require=(function e(t,n,r){function ......
./App.jsx":[function(require,module,exports){
module.exports=require('0+DPR/');
},{}]},{},[])
Poi nel mio codice del browser Posso fare questo:
<html>
<head>
<title>React server rendering example</title>
<script src="static/bundle.js"></script>
</head>
<body>
Welcome to the React server rendering example. Here is a server-rendered React component:
<div id="53a442ff8b39d"></div><script>
var x = require('./x.js');
console.log(x(3))
</script> </body>
</html>
Io in realtà ho due domande:
1) Questo non funziona del tutto nel browser ottengo l'errore: "errore non rilevato: Impossibile trovare il modulo' ./x. js'". Perché sta succedendo?
2) In realtà voglio eseguirlo in gulp usando vinyl-source-stream. Ho provato a fare qualcosa di simile nel mio gulpfile ma non funziona. Qualche idea? Ottengo l'errore 'richiedono non è definito'
var gulp = require('gulp'),
browserify = require('browserify'),
source = require('vinyl-source-stream');
var b = browserify({
entries: ['./x.js'],
});
b.bundle({debug: false})
.pipe(source('bundle.js'))
.pipe(gulp.dest('./build'));
Nel tuo esempio della riga di comando che si sta scrivendo 'bundle.js' nella stessa cartella di' x.js', ma il codice HTML è la lettura da 'statica/bundle.js', e nel vostro' esempio gulp' lo stai scrivendo in 'build/bundle.js'. Qual è in realtà quello che vuoi? – loganfsmyth
Diciamo solo supporre che faccio le bundle.js mv appropriate comando di metterlo al posto giusto per il server web per l'accesso. Questo non è il punto cruciale del problema qui. – asolberg
Speriamo che questo [progetto github] (https://github.com/erichosick/nodeboxrequire) aiuterà. Mostra come richiedere ed esportare le librerie, l'html, il file gulp, ecc. – ehsk