require()
jest naprawdę najlepszy dla kodu javascript i plików json, aby zachować parzystość z węzłem i poprawić czytelność kodu dla osób postronnych, które oczekują, że require()
będzie działał tak samo, jak w węźle.
Zamiast używać require()
do ładowania plików tekstowych, należy rozważyć użycie transformacji brfs. Z brfs, utrzymać parytet z węzła wywołując fs.readFileSync()
ale zamiast robić synchronicznego IO jak w węźle brfs będzie inline zawartość pliku do wiązki tak
var src = fs.readFileSync(__dirname + '/file.txt');
staje
var src = "beep boop\n";
w in-place wyjście z pakietu.
Wystarczy skompilować z -t brfs
:
browserify -t brfs main.js > bundle.js
Więcej dyskusja o tym, dlaczego przeciążenia require()
nadto jest to zły pomysł: http://mattdesl.svbtle.com/browserify-vs-webpack
Działa to tak długo, jak moduł w pytaniu jest częścią drzewa opakowania najwyższego poziomu - to znaczy, NIE wymagane od pakietu instalowanego z 'npm install'. Ale nie jestem pewien, czy transformacja browserify działa w pakietach wymaganych przez inne zainstalowane pakiety. – kurttheviking
Czy istnieje taki, który działa po prostu używając "wymagać"? – CMCDragonkai
Zrobiłem to za mnie, wstawiając kod cieniowania jako ciągi do mojego projektu three.js. – Air