如何在 app/controller 中要求 widget/lib?
How to require a widget/lib in app/controller?
是否可以从 appController 访问 widget/lib 文件夹下的库文件?
我试过了
require('./widgets/com.myWidget/lib/myLib')
和
require('widgets/com.myWidget/lib/myLib')
所有这些抛出错误:
[ERROR] : Script Error Couldn't find module: ./widgets/com.myWidget/lib/myLib for architecture: i386
如何在 controllers/myCtrlr.js
中要求 com.myWidget/lib/myLib.js
?
或者所有的库代码都应该只存在于 app/lib
下吗?
app
|--assets
|--controllers
|--myCtrlr.js
|--lib
|--models
|--styles
|--views
|--widgets
|--com.myWidget
|--assets
|--controllers
|--lib
|--myLib.js
|--models
|--styles
|--views
您无法从您的应用程序直接访问小部件库。当您使用 Widget.createWidget(widget_name, [controller_name], [params])
创建小部件实例时,它会加载 widget.js 控制器。
我认为访问您的库的最佳方式是将其添加到 app/lib
因为您可以从您的小部件中使用 require(mylib)
访问您的库
如果你真的想从你的小部件访问你的库,你可以创建一个函数来像这样导出它:
在widget.js中:
$.loadLib = function(){
return require(WPATH(myLib));
};
在index.js中:
var w = Widget.createWidget('com.myWidget');
var myLib = w.loadLib(); //contains myLib located in com.myWidget/lib/
是否可以从 appController 访问 widget/lib 文件夹下的库文件?
我试过了
require('./widgets/com.myWidget/lib/myLib')
和
require('widgets/com.myWidget/lib/myLib')
所有这些抛出错误:
[ERROR] : Script Error Couldn't find module: ./widgets/com.myWidget/lib/myLib for architecture: i386
如何在 controllers/myCtrlr.js
中要求 com.myWidget/lib/myLib.js
?
或者所有的库代码都应该只存在于 app/lib
下吗?
app
|--assets
|--controllers
|--myCtrlr.js
|--lib
|--models
|--styles
|--views
|--widgets
|--com.myWidget
|--assets
|--controllers
|--lib
|--myLib.js
|--models
|--styles
|--views
您无法从您的应用程序直接访问小部件库。当您使用 Widget.createWidget(widget_name, [controller_name], [params])
创建小部件实例时,它会加载 widget.js 控制器。
我认为访问您的库的最佳方式是将其添加到 app/lib
因为您可以从您的小部件中使用 require(mylib)
如果你真的想从你的小部件访问你的库,你可以创建一个函数来像这样导出它:
在widget.js中:
$.loadLib = function(){
return require(WPATH(myLib));
};
在index.js中:
var w = Widget.createWidget('com.myWidget');
var myLib = w.loadLib(); //contains myLib located in com.myWidget/lib/