CommonJs、AMD、モジュールのロード、および関連する問題を 1 週間以上調査してきました。私が必要とするものは何もないように感じます。私の基本的なニーズは、フロントエンドとバックエンドの間でコードをシームレスに共有することです。これには、クライアント側のモジュール形式、スクリプトの読み込み、モジュール形式の変換/ラッピングなど、さまざまな問題があります。私が最近苦労しているのは、node.js で CommonJS と AMD (または AMD のようなもの) の両方を使用する方法です。
node.js では commonJs から逃れることはできないので、AMD を使用する場合は commonJs と一緒に動作する必要があると考えています。AMD のような機能を実現するには、どのようなツール、ライブラリ、または手法を使用できますか?
たとえば、次のようなモジュールを記述できるようにしたいと考えています。
var x = require('x')
modules.exports = function(a, callback) {
if(a) {
require(['y','z'], function(y,z) {
callback(x, y.o + z.k)
}
} else {
callback(x, "ok")
}
}
理想的には:
- node.js と amd のようなモジュールの両方に、node.js の方法で解釈されるパスがあります (モジュール パスが「/」、「./」、または「../」で始まらない限り、node_modules に注意してください)。
- ビルドステップでサーバー側のソース変換を必要としません (つまり、モジュールはそれぞれがプログラムで変換されることなく node.js で実行されます)
module
またはrequire
、amd のような require 関数に明示的に渡す必要はありません