browserify (browserify-middleware を使用) を使用していますが、次のような単純なテキスト ファイルを要求するにはどうすればよいですか。
var myTmpl = require("myTmpl.txt");
browserifyのstringifyプラグインを確認しましたが、ドキュメントのコードが browserify V2 で動作しません
browserify (browserify-middleware を使用) を使用していますが、次のような単純なテキスト ファイルを要求するにはどうすればよいですか。
var myTmpl = require("myTmpl.txt");
browserifyのstringifyプラグインを確認しましたが、ドキュメントのコードが browserify V2 で動作しません
require()
ノードとのパリティを維持し、ノードでの動作を期待する部外者にコードの読みやすさを向上させるには、javascript コードと json ファイルのみに最適ですrequire()
。
require()
を使用してテキスト ファイルをロードする代わりに、 brfs変換の使用を検討してください。brfs を使用すると、呼び出しによってノードとのパリティを維持できますが、fs.readFileSync()
ノードのように同期 IO を実行する代わりに、brfs はファイルの内容をインプレース バンドルにインライン化します。
var src = fs.readFileSync(__dirname + '/file.txt');
になる
var src = "beep boop\n";
バンドル出力で。
でコンパイルするだけ-t brfs
です:
browserify -t brfs main.js > bundle.js
require()
過負荷が悪い考えである理由についての詳細な議論: http://mattdesl.svbtle.com/browserify-vs-webpack
文字列化:
https://github.com/JohnPostlethwait/stringify
著者の例は次のとおりです。
var bundle = browserify()
.transform(stringify(['.hjs', '.html', '.whatever']))
.add('my_app_main.js');
本当に を使用したい場合はrequire()
、partialifyを参照してください。
my.txt
:
Hello, world!
index.js
:
alert( require( "my.txt" ) );
Browserify が構成されている場所:
var partialify = require( "partialify/custom" );
partialify.alsoAllow( "txt" );
bundle.add( "./index.js" );
bundle.transform( partialify );
理論的には、「Hello, world!」が表示されます。ブラウザのメッセージ。
PS私はこれを自分で試していません。
編集: このソリューションは NodeJS の互換性を損なうことに注意してください。NodeJS は.txt
ファイルを要求する方法を知らないため、ブラウザ化された状態でのみ機能します。