【问题标题】:How to inciude a local html file in a webview in nativescript main-page.js?如何在 nativescript main-page.js 的 web 视图中包含本地 html 文件?
【发布时间】:2020-03-10 19:22:08
【问题描述】:

是否可以在 nativescript webview 中添加本地 html 文件? 如果是,我该如何使用 javascript 当我添加在线页面时,它可以工作,我可以在 web 视图中添加 www.google.com 。但是我想添加一个本地页面,但我找不到这样做的方法。

【问题讨论】:

  • 是的,你可以。只需将 html 文件放在您的应用程序或资产文件夹中,确保将其添加到捆绑包中,然后将文件指向 src 属性 - 有关详细信息,请参阅 docs
  • 我已经检查了文档我尝试了 src 属性,但它不起作用它在应用程序的屏幕上显示我完成它的 src 属性的链接..
  • 请分享一个可以重现问题的 Playground 示例。

标签: javascript html nativescript


【解决方案1】:

是的,这是可能的。您需要考虑默认情况下所有 NativeScript 应用程序都是使用 Webpack 构建的,并且默认的 webpack.config.js 将处理某些文件(像 fonts 文件夹中的那些,或者像所有带有 *.png 和 *..jpg 扩展名的图像)。 webpack 构建将捆绑所有 JavaScript 文件,并且在 Angular 风格的情况下,还将在认知上包含 Angular 相关的 HTML 文件。但是,默认的 webpack.config.js 不会“知道”您的自定义 HTML 文件。

解决方案是让 Webpack 知道它应该复制特定的 HTML 文件。这应该通过 webpack.config.js 文件中的 CopyWebpackPlugin 部分来完成。

示例(假设我们在 app 目录中有一个名为 test.html 的文件)

    new CopyWebpackPlugin([
        { from: { glob: "test.html" } }, // HERE
        { from: { glob: "fonts/**" } },
        { from: { glob: "**/*.jpg" } },
        { from: { glob: "**/*.png" } },
    ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }),

对于现实生活中的示例,请参阅this config,其中this HTML file 是我们的目标。

【讨论】:

  • 嗨,亲爱的,谢谢你的回复。我试图在我的项目中找到 webpackck.config.js,但我没有找到它。你能告诉我在哪里可以找到这个文件吗?
  • root 文件夹中。如果它缺少 do npm i nativescript-dev-webpack --save-dev./node_modules/.bin/update-ns-webpack --configs --deps
  • 你绝对应该在 webpack.config.js github.com/NickIliev/nativescript-ng-cosmos/blob/master/… 中有这样的东西
  • 我终于找到了该部分并添加了一个 index.html 文件,但它没有加载它。当我加载时,我在屏幕上打印了文件 index.html 的名称。我放置了索引.html 文件夹应用程序中的文件,正如您在示例中向我展示的那样。
  • 谢谢 Nick lliev。我为其他人添加此链接stackoverflow.com/questions/60760372/…
猜你喜欢
  • 2019-07-30
  • 2013-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
  • 2019-08-27
相关资源
最近更新 更多