2016-04-18 8 views
0

appControllerからwidget/libフォルダの下にあるライブラリファイルにアクセスできますか?app/controllerでウィジェット/ libを要求する方法は?

私はこれらのすべてのスローエラー

require('./widgets/com.myWidget/lib/myLib') 

require('widgets/com.myWidget/lib/myLib') 

を試してみました:

私は controllers/myCtrlr.jscom.myWidget/lib/myLib.jsを必要とするにはどうすればよい
[ERROR] : Script Error Couldn't find module: ./widgets/com.myWidget/lib/myLib for architecture: i386 

また、すべてのlibコードはapp/libの下にのみ存在する必要がありますか?

app 
|--assets 
|--controllers 
    |--myCtrlr.js 
|--lib 
|--models 
|--styles 
|--views 
|--widgets 
    |--com.myWidget 
     |--assets 
     |--controllers 
     |--lib 
      |--myLib.js 
     |--models 
     |--styles 
     |--views 

答えて

1

あなたのアプリから直接ウィジェットのlibにアクセスすることはできません。 Widget.createWidget(widget_name, [controller_name], [params])でウィジェットのインスタンスを作成すると、widget.jsコントローラーがロードされます。

私はあなたのlibにアクセスするための最善の方法は、あなたが本当にあなたのウィジェットからあなたのlibにアクセスしたい場合は、 require(mylib)

であなたのlibにアクセスすることができますので、あなたのウィジェットからapp/libでそれを追加することで、あなたは関数を作成することができると思い

widget.jsで

:index.jsで

$.loadLib = function(){ 
return require(WPATH(myLib)); 
}; 

var w = Widget.createWidget('com.myWidget'); 
var myLib = w.loadLib(); //contains myLib located in com.myWidget/lib/ 
このようにそれをエクスポートします
関連する問題