webpack - 如何在 Nativescript webpack 的 app 目录中包含 xml 文件

标签 webpack nativescript

在我的应用程序中,我有两个用于两种类型用户的主屏幕和一个登录页面。当用户打开应用程序时,我会检查用户的类型,并根据用户类型打开特定的 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-rootapp-root-homeapp-根店)。它们每个都有一个不同的框架,包裹在不同的布局中。

当我在没有 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-homeapp-root-商店 xml 文件。

关于webpack - 如何在 Nativescript webpack 的 app 目录中包含 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54221493/

相关文章:

javascript - webpackConfig 上的 ESM 导入

typescript - 如何在 Angular 2 中包含 typescript 自定义类型定义?

reactjs - razzle 无法解析 'fs'/'net'(服务器端渲染 react 应用程序)

angular - WEBPACK_IMPORTED_MODULE XhrIoPool 不是构造函数

android - 获取 API :Can not get data from localhost

javascript - 如何在 NativeScript 中从 Java 获取定义的实例/变量?

android - 如何在 nativescript 中设置方向

ios - 如何在 IOS Nativescript 中的 ActionItem/ActionBar 中使用 Image

javascript - 如何使用 NativeScript 自动完成

javascript - 没有窗口对象存在 webpack nodejs