使用webpack后无法从模块错误加载组件

时间:2019-05-29 14:09:05

标签: nativescript

因此,在我更新框架并启用Webpack之前,我的应用程序运行良好, 问题是当我加载模态视图时会出现以下错误:

System.err: com.tns.NativeScriptException:
System.err: Calling js method onItemClick failed
System.err:
System.err: Error: Failed to load component from module: ./rest-page-model.xml or file: null

起初,我在加载页面时遇到了同样的问题,页面名称中的下划线是导致此问题的原因,因此我更改了名称,并从页面名称中删除了下划线,然后起作用了,但是此技巧不适用于模态视图

function ToResturantList(args) {
    const button = args.object;

    const typeOfResturants=button.id;
    const featuredFrame = frameModule.getFrameById("main");
    featuredFrame.navigate({

        moduleName: "Resturants-list-page", 



        transition: 
            {
                name:"slideBottom"
            } ,

            context:{typeOfResturants:typeOfResturants}


    });
}exports.ToResturantList=ToResturantList;

1 个答案:

答案 0 :(得分:1)

也许旧版工作流程与捆绑软件之间的主要区别是我们注册和加载页面及自定义组件的方式。上述错误表明您的登录页面未包含在应用程序捆绑包中。

我强烈建议您阅读描述此工作流程切换的博客文章。它描述了与使用捆绑工作流程(减少应用程序大小)时仅复制所需文件相比,在使用传统工作流程时我们如何复制整个应用程序文件夹。此问题的重要部分是,为了包括所有必需的应用程序页面和自定义组件,捆绑软件工作流使用了此线程中描述的一些约定。

简而言之,捆绑软件工作流仅包含以page和root结尾的页面,为了使您的应用正常运行,您需要将此login.xml,login.ts和login.css文件重命名为login-page。 xml,login-page.ts和login-page.css。请记住,您必须对所有页面都执行此操作,并且还要修复页面导航。

请遵循页面约定或按照上述相关主题的说明手动注册页面后,如果您仍然有任何错误,请及时更新。