Browserify(browserify-middlewareを使用)を使用していますが、次のような単純なテキストファイルをどのように要求できますか。
var myTmpl = require("myTmpl.txt");
私はチェックしました stringify browserifyのプラグインですが、ドキュメントのコードは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
stringify:
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!」ブラウザのメッセージ。
P.S。私はこれを自分で試したことはありません。
Edit:このソリューションはNodeJSの互換性を損なうことに注意してください-NodeJSは.txt
ファイルを要求する方法を知らないため、ブラウザ化された状態でのみ機能します。