在我的应用程序中,我有两个用于两种类型用户的主屏幕和一个登录页面。当用户打开应用程序时,我会检查用户的类型,并根据用户类型打开特定的 app-root.xml
文件。
app.js
let currentLogin = appSettings.getString("login", "nothing");
if (currentLogin === 'customer') {
application.run({ moduleName: "app-root-home" });
}
else if (currentLogin === 'shop') {
application.run({ moduleName: "app-root-shop" });
}
else {
application.run({ moduleName: "app-root" });
}
我的 app
目录中有三个不同的 XML 文件(app-root
、app-root-home
和 app-根店
)。它们每个都有一个不同的框架,包裹在不同的布局中。
当我在没有 Webpack 的情况下执行时,一切正常,但是当我从 sidekick 启用 Webpack
时,如果执行以下语句 application.run({ moduleName: "app-root-home"});
我收到错误:TypeError: 无法读取未定义的属性“_domid”
。
我尝试反编译应用程序并查看 bundle.js
文件,发现 webpack 没有添加 app-root-home.xml
也没有 app-root-shop.xml
。只有 app-root.xml
在那里。
我正在使用nativescript sidekick,并且正在云上构建我的项目;我不经常输入命令行,云会帮我做到这一点。
我的nativescript-dev-webpack
开发版本是0.19.0
。
我正在使用 JS
进行开发。
我尝试在 github 上找到与我类似的问题的解决方案,并且能够在 app
目录中包含 xml
文件,并且所有解决方案都包含修改在 bundle-config.js
中,我的项目中没有。
看起来在新版本的webpack
中,bundle-config.js
文件不再存在于app
目录中,而是它存在于相同的插件文件夹中。 Reference
我的 app
目录中只有 webpack.config.js
,所以我需要知道是否可以在 JS 中向其中添加 xml 文件,但我不能找不到办法做到这一点。
如何将最新版本的 webpack 插件中 app
目录中的所有 xml
文件包含到我的应用程序中并在 sidekick 上运行。
最佳答案
您可以创建两个新页面(app -root-home
& app-root-shop
)。对于每个页面,nativescript 将创建 *-page.js
、*-view-model.js
和 *-page.xml
文件,并且当您发布版本时,webpack 不会删除这些文件。
创建两个新页面后,您可以包含 *-page.xml
文件,而不是 app-root-home
和 app-root-商店
xml 文件。
关于webpack - 如何在 Nativescript webpack 的 app 目录中包含 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54221493/