私はブラウザとサーバーで実行するライブラリを持っています。このライブラリはNeedleに依存しており、ブラウザでXMLHttpRequestsリクエストが使用されているとします。このライブラリは、フロントエンドでバンドルされたブラウザー化されたライブラリを使用し、ノードで通常のES6コードを使用します。条件付きノード/ Browserifyライブラリが必要ですか?
ここでは、ブラウザ用にdist/vendor.min.js
、ノード用にはlib/index.js
の2種類のコードがあります。私は、フロントエンドのコードをuglifyを決定するまでのエントリポイントで私のライブラリの
index.js
'use strict';
// In browsers, load the bundled version
module.exports = process.browser ? require('./dist/vendor.min.js') : require('./lib/index.js}');
package.json
{
"main": "index.js"
}
このソリューションは正常に動作します。このライブラリを使用しているアプリケーションは、実稼働環境のサードパーティのライブラリをすべて醜くしています。ここで起こっていることは、移植されていないES6のjavascriptであるノードコードを醜くしようとしています。
これらのライブラリを条件付きで読み込むには、より良い方法がありますか?
この戦略はhttp://stackoverflow.com/questions/23038483/how-to-detect-when-browserify-is-being-runから適応されました – bneigher