npmモジュールを作成しました。これはノードでは完全に動作しますが、Socket.ioと同じようにブラウザで使用できます。ノードでは、私はそのように使用します。Socket.ioがそうであるように、それはモジュールのクライアントバージョンを果たす指定した場合var AIM = require('aimjs')(server)
ブラウザでnpmモジュールを使用できるようにするにはどうすればいいですか?
サーバparamが(Node.js doc)http.Serverからオプションで、次のとおりです。
if (this.server != null) {
var listeners = this.server.listeners('request').slice()
this.server.removeAllListeners('request')
this.server.on('request', function (req, res) {
if (url.parse(req.url).pathname === '/AIM.js') {
res.setHeader('Content-Type', 'application/javascript')
res.writeHead(200)
res.end(fs.readFileSync(__dirname + '/AIM.client.js'))
} else {
for (var i = 0; i < listeners.length; i++) {
listeners[i].call(self.srv, req, res)
}
}
})
}
このfile(AIM.client.js)は私のメインのブラウジング版ですが、モジュールは外部にはありません。どうすればグローバル化できますか?私はそのユーザーがモジュールをインストールして、<script type='text/javascript' src='/AIM.js'></script>
を含めて、クライアント側とサーバー側の両方で使用できるようにしたい。
私のコードを1つのファイルにリファクタリングし、(amd、ウィンドウ、モジュール)の3つの可能なエクスポートを行いました。 –