当前位置: 首页 > 面试题库 >

使Angular JS脱机工作

郎和通
2023-03-14
问题内容

我正在AngularJS的帮助下开发一个单页应用程序,而我是新手,我之前曾问过同样的问题,但没有任何答案,所以我改写我的问题,然后再问一次

问题:我需要做的是使我的Web应用程序能够离线运行,为此,应以某种方式将呈现为视图的html文件(例如home.html)包括在index.html中,因此,单击一些链接应该不需要访问html文件,而无需访问同一页面的一部分,例如将显示一个潜水,我应该对项目进行哪些修改才能完成此操作

目前,我制作了不同的html文件,并在渲染视图时将它们用作模板,应用程序的结构如下所示:

  - index.html          
   - pages              
    ----- home.html
    ----- profile.html

这是用于配置路由,控制器和视图的代码

  var formApp = angular.module('formApp', ['ngRoute']);

  formApp.config(function($routeProvider) {
    $routeProvider
       .when('/', {
           templateUrl : 'main',
           controller  : 'mainController'
        })
    .when('/profile', {
        templateUrl : 'profile',
        controller  : 'profileController'
    })
  });

并且例如,我的main.html文件是这样的:

 <div class="jumbotron text-center">
     <h1>Main Page</h1>

     <p>{{ message }}</p>
  </div>

َ在index.html中的某处

         <div ng-view>
              {{ message }}
          </div>

该代码正常工作,目前一切正常


问题答案:

为了使您的应用程序 脱机 工作,您必须使用 html5缓存清单 来缓存每个文件。甚至.html文件,图像,CSS等等…

本地 “旧”缓存 在这里 无法使用 ,因为它仍然需要 与服务器 进行 通信 才能获得“ 304 Not Modified”
http代码。

清单删除了此步骤, 甚至不向 服务器请求资源。

一个示例清单:

CACHE MANIFEST
/angular.js
/index.html
/page/home.html
/page/profile.html
NETWORK: 
*

如何 包括使用
缓存清单检查:http :
//www.w3schools.com/html/html5_app_cache.asp

用于调试:

*在chrome下 *清除应用程序缓存 ,输入网址“ chrome:// appcache-internals /”

编辑 :由于评论和主题

您可以将它们包含在index.html中,而不是将html代码放置在许多自己的html文件中:

<script type="text/ng-template" id="one.html">
     <div>This is first template</div>
</script>

那么您templateURL就是没有子路径的“ one.html”。

检查文档:https :
//docs.angularjs.org/api/ng/directive/script

暗示:

您无需在此处放置任何路径。在呈现阶段,angularjs会将每个html文件存储在这些脚本元素$templateCache下的html文件中id



 类似资料:
  • 我们正在进行灾难恢复练习,一些Hibernate Spring应用程序没有出现以下错误 hbm映射XML文件已被删除 在SO和Hibernate论坛上搜索修复程序看起来需要在doctype to SYSTEM中创建DTD,以便它从本地系统而不是sourceforge上托管的公共DTD读取。网 但是Hibernate正在查找appserver根文件夹上的文件 如何指定系统DTD引用,以便Hibern

  • 我最近用Google节点模块“sw-precache”生成的服务工作者制作了我的第一个渐进式web应用程序(我在演示中使用了Gulp任务)。一切工作良好,我能够导航通过网页应用当我离线使用Chrome在移动或使用Chrome创建的图标使用“添加到主屏幕”选项(我的渐进式网页应用)。 我只有一个奇怪的问题:如果我离线了,我用Chrome刷新页面,它仍然可以工作,但如果我用pwa做同样的事情,它会显示

  • 无法从文件级别-1.6-bin.zip加载插件描述符 那么,我还需要下载哪些文件,以及如何正确安装它们才能与Android Studio脱机工作?

  • 问题内容: 我终于开始学习Java,并且正在寻找一些Java文档,这些文档可以下载和离线阅读。类似于Sun的东西,但压缩后还是PDF或CHM。 我正在使用Eclipse,因此与之集成的东西会很好。它似乎已经在某处有一些我想要的东西(javadoc的东西),但是我看不到如何搜索它,也没有看到语言参考。 问题答案: Windows帮助格式的完整文档 http://javadoc.allimant.or

  • 我有Oppo A5S和尝试在没有usb的情况下调试我的设备看起来像这不像ip地址我尝试用ip地址连接,但当我拔掉电缆我的设备看起来离线时,我如何修复这个问题?

  • Amplify是否支持此处概述的脱机功能:https://docs.aws.amazon.com/appsync/latest/devguide/building-a-client-app-react.html#offline-背景 我应该这样设置吗?https://aws.github.io/aws-amplify/media/api_guide#configuration-for-graphq