0

を使用したことがない人のために説明するとsoma.js、これはマイクロ フレームワークであり、2 つのコア ファイルsoma.jssoma-template.js. それらは両方とも onnpmであるため、私のプロジェクトでは、htmlページにcdn URL をハードコーディングする代わりに、var soma = require('soma.js');soma.template = require('soma-template');

しかし、これはうまくいきませんでした。そこで、掘り下げ始めたところ、次のようになっていることがわかりましたsoma-template npm module source code

(function(soma){
   // code here
}(this['soma'] = this['soma'] || {})); 

に変更thisするとwindow、すべて機能します。ただし、理想的な世界では、npm モジュールのソース コードをいじりたくないので、app.js何らかの方法でメイン エントリ ポイント内で構成したいと考えています。

変数の現在のスコープを渡す必要があるように感じsomaますが、その方法がわかりません..

どんな助けでも大歓迎です。

4

1 に答える 1

0

だから私はすべてのソースコードを調べて、最終的にこれを修正することができました. 誰かが同じ問題を抱えている場合に備えて、次のようにして修正しました。

var soma     = require('soma.js'),
    template = require('soma-template');

soma.plugins.add(template.Plugin);
于 2016-04-06T08:43:18.930 に答える