Breeze 角形种子前进+;微风&x2B;ios/android=找不到模块';微风客户端&x27;
我试图使用breeze的TempHire angular参考项目()将breeze合并到angular seed advanced()中。在我在安卓设备上运行应用程序之前,一切都很顺利。我在运行时遇到了这个错误(iOS emulator给出了类似的结果):Breeze 角形种子前进+;微风&x2B;ios/android=找不到模块';微风客户端&x27;,breeze,nativescript,Breeze,Nativescript,我试图使用breeze的TempHire angular参考项目()将breeze合并到angular seed advanced()中。在我在安卓设备上运行应用程序之前,一切都很顺利。我在运行时遇到了这个错误(iOS emulator给出了类似的结果): 在“主”线程上发生未捕获的异常。 java.lang.RuntimeException:无法创建应用程序com.tns.NativeScriptApplication:com.tns.NativeScriptException: 调用模块函数
在“主”线程上发生未捕获的异常。
java.lang.RuntimeException:无法创建应用程序com.tns.NativeScriptApplication:com.tns.NativeScriptException:
调用模块函数时出错
调用模块函数时出错
调用模块函数时出错
调用模块函数时出错
调用模块函数时出错
错误:com.tns.NativeScriptException:未能找到模块:“breeze客户端”,相对于:app/tns\u模块/
com.tns.Module.resolvePathHelper(Module.java:146)
resolvePath(Module.java:55)
com.tns.Runtime.runModule(本机方法)
runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5405)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
android.os.Handler.dispatchMessage(Handler.java:102)
Looper.loop(Looper.java:154)
main(ActivityThread.java:6121)
java.lang.reflect.Method.invoke(本机方法)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
文件:,第1行,第265列
堆栈跟踪:
框架:函数:'require',文件:'',行:1,列:266
框架:函数:“”,文件:'file:///data/data/com.yourdomain.nativescript/files/app/app/modules/core/services/entity-manager-provider.js,第3行,第23列
框架:函数:'require',文件:'',行:1,列:266
框架:函数:“”,文件:'file:///data/data/com.yourdomain.nativescript/files/app/app/modules/core/services/index.js,第14行,第33列
框架:函数:'require',文件:'',行:1,列:266
框架:函数:“”,文件:'file:///data/data/com.yourdomain.nativescript/files/app/app/modules/core/index.js,第6行,第10列
框架:函数:'require',文件:'',行:1,列:266
框架:函数:“”,文件:'file:///data/data/com.yourdomain.nativescript/files/app/native.module.js,第11行,第15列
框架:函数:'require',文件:'',行:1,列:266
框架:函数:“”,文件:'file:///data/data/com.yourdomain.nativescript/files/app/app.js,第5行,第23列
框架:函数:'require',文件:'',行:1,列:266
我认为这是nativescript的一个网页配置问题。因为首先,编译成功。因此编译器可以毫无问题地找到“breeze client”模块。其次,该应用程序在使用systemjs的Web浏览器中运行良好。但是systemjs使用不同的配置文件。我不熟悉网页配置文件
编辑:
我想我找到了问题所在,但仍然不知道如何解决:
在tns build android
期间,node\u modules\*
被复制到tns\u modules\*
,将在移动应用程序中使用。但是,在构建过程中,breeze.debug.js
等文件被重命名为breeze.js
。稍后当应用程序运行时,CommonJS尝试加载breeze.client
模块。它检查tns_modules\breeze client
下的package.json
文件,查看“main”:“/breeze.debug.js”
,但文件不在那里
我想知道是否有一个配置可以防止在构建过程中将breeze.debug.js
重命名为breeze.js
非常感谢您的帮助。我对angular seed不太熟悉,但您似乎需要将
breeze客户端
添加到中的应用程序资源
数组中
然后,它应该在模块中包含breeze库。您应该为breeze实现本机适配器,而不是web适配器。在breeze组织中查找一个用于Java的适配器,另一个用于ObjC/Swift。@pkanev,谢谢,我会看一看。但这不是违背了使用NativeScript这样的框架的目的吗?我必须n为不特定于平台的内容输入特定于平台的代码。您忘记了NativeScript仍然在移动平台上运行,因此必须遵循固定的规则集。可能可以为所有节点/web内容创建垫片,但这并不意味着在移动设备上运行web/nodejs模块比移动sdk更为优化自我。插件的目的是包装它们一次,然后在任何地方使用它们。不是说你应该不惜一切代价使用移动SDK,如果是Cordova或Ionic,你可能不会使用web驱动程序……毕竟这些都是web平台。你的意思是我应该这样做:
this.APP_ASSETS=[{src:`${this.APP_SRC}/node_modules/breeze client/*`,inject:true,vendor:true}
?我尝试过,但它对我不起作用。似乎APP\u ASSETS
是用于将“本地”第三方库包含到index.html。但是breeze客户端是一个npm包。同样,这只发生在NativeScript构建上,所以我认为我需要将其放在网页包配置文件中的某个位置。你能看看我的编辑吗?这可能是一个错误NativeScript生成过程中的问题。
An uncaught Exception occurred on "main" thread.
java.lang.RuntimeException: Unable to create application com.tns.NativeScriptApplication: com.tns.NativeScriptException:
Error calling module function
Error calling module function
Error calling module function
Error calling module function
Error calling module function
Error: com.tns.NativeScriptException: Failed to find module: "breeze-client", relative to: app/tns_modules/
com.tns.Module.resolvePathHelper(Module.java:146)
com.tns.Module.resolvePath(Module.java:55)
com.tns.Runtime.runModule(Native Method)
com.tns.Runtime.runModule(Runtime.java:504)
com.tns.Runtime.run(Runtime.java:499)
com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:17)
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5405)
android.app.ActivityThread.-wrap2(ActivityThread.java)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6121)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
File: "<unknown>, line: 1, column: 265
StackTrace:
Frame: function:'require', file:'', line: 1, column: 266
Frame: function:'', file:'file:///data/data/com.yourdomain.nativescript/files/app/app/modules/core/services/entity-manager-provider.js', line: 3, column: 23
Frame: function:'require', file:'', line: 1, column: 266
Frame: function:'', file:'file:///data/data/com.yourdomain.nativescript/files/app/app/modules/core/services/index.js', line: 14, column: 33
Frame: function:'require', file:'', line: 1, column: 266
Frame: function:'', file:'file:///data/data/com.yourdomain.nativescript/files/app/app/modules/core/index.js', line: 6, column: 10
Frame: function:'require', file:'', line: 1, column: 266
Frame: function:'', file:'file:///data/data/com.yourdomain.nativescript/files/app/native.module.js', line: 11, column: 15
Frame: function:'require', file:'', line: 1, column: 266
Frame: function:'', file:'file:///data/data/com.yourdomain.nativescript/files/app/app.js', line: 5, column: 23
Frame: function:'require', file:'', line: 1, column: 266