包内的 Meteor Ionic Angular App - 如何链接到模板?

Posted

技术标签:

【中文标题】包内的 Meteor Ionic Angular App - 如何链接到模板?【英文标题】:Meteor Ionic Angular App inside a Package - How do you link to the template? 【发布时间】:2016-01-28 17:45:02 【问题描述】:

我们正在开发我们的流星应用程序的移动部分作为一个包。由于我们有移动和桌面应用程序,我们有一个共同的核心包,桌面和移动包是分开的。

所以我们在一个包中几乎有一个 Angular/Ionic/Cordova/Meteor 应用程序。

我们面临的问题是如何指定模板的路径。通常,在通常在包之外开发离子移动应用程序时,它的工作方式类似于

state('manage.prefs', 
   url: '/prefs',
   templateUrl: 'client/views/manage-prefs.html',
   controller: 'ManagePrefsCtrl'
 )

你看到templateUrl了吗?那是 Angular 使用的 .html 模板的路径。现在通常,如果这不是在包中开发的,则路由将相对于根流星目录。

由于我们将其作为软件包的一部分进行开发,因此该路径不起作用。我们正在使用 api.addFiles 添加每个模板。但是我们如何获得模板的路径呢?我们尝试了各种途径,但似乎都没有奏效。是否可以获得包内模板的路径?

我们尝试了 api.addAsset,它确实提供了一个路径,但热重载会中断,它会缓存所有文件,因此您必须硬重置才能显示更改。

【问题讨论】:

【参考方案1】:

简答:

templateUrl: '/packages/package-name/path-inside-package/manage-prefs.html',

长答案:

现在有一个新的教程步骤: http://angular-meteor.com/tutorials/angular1/mobile-support-and-packages-isolation

【讨论】:

这可行,但热代码推送是个问题。请在此处参考我的问题:github.com/Urigo/angular-meteor/issues/882 实际上我们发现问题是谷歌浏览器缓存了看起来的模板。我们通过进入 chrome 开发工具设置并选中禁用缓存框(在 DevTools 打开时)来解决此问题 现在热代码推送似乎每次都有效。会继续测试,稍后再确认。

以上是关于包内的 Meteor Ionic Angular App - 如何链接到模板?的主要内容,如果未能解决你的问题,请参考以下文章

离子存储在承诺中未定义?

初识Angular-Meteor(Angular-Meteor使实时全栈更简单)

找不到模块'./..../x.html' - TsLint / Angular-Meteor

如果我使用 Meteor,为啥需要 Angular? [关闭]

oracle 查看包内的所有程序和函数

在 Meteor 1.3 + angular1 上使用 npm(凹凸!)