流星角更新到 1.3.4.4(从 1.3.4.1)破坏了模板

Posted

技术标签:

【中文标题】流星角更新到 1.3.4.4(从 1.3.4.1)破坏了模板【英文标题】:Meteor angular update to 1.3.4.4 (from 1.3.4.1) broke templates 【发布时间】:2016-11-13 12:22:42 【问题描述】:

今天在我的meteor-angular项目(工作版本为1.3.4.1)中运行meteor update后,不再加载任何内容,并且控制台中出现多个错误,例如:

angular_angular.js?hash=08f63d2…:13439 
    Error: [angular-meteor][err][404] client/templates/base.html - HTML template does not exists! You can disable this error by following this guide http://www.angular-meteor.com/api/1.3.11/templates
    at Object.$provide.decorator.$delegate.get (templates-handler.js:33)
    at sendReq (angular_angular.js?hash=08f63d2…:11408)
    at serverRequest (angular_angular.js?hash=08f63d2…:11148)
    at processQueue (angular_angular.js?hash=08f63d2…:15772)
    at angular_angular.js?hash=08f63d2…:15788
    at Scope.$eval (angular_angular.js?hash=08f63d2…:17040)
    at Scope.$digest (angular_angular.js?hash=08f63d2…:16856)
    at Scope.$apply (angular_angular.js?hash=08f63d2…:17148)
    at bootstrapApply (angular_angular.js?hash=08f63d2…:1728)
    at Object.invoke (angular_angular.js?hash=08f63d2…:4640)

(每个模板一个错误)。

请务必注意,升级前一切正常。

加载模板的代码:

$stateProvider.state('base', 
        abstract: true,
        templateUrl: 'client/templates/base.html',
        controller: 'BaseCtrl as base',
        ...

想法?

== 编辑 2016.7.27 ==

无论是什么问题,现在都已解决。今天我跑步:

meteor update --release 1.3.5.1

流星更新了,一切仍然像魅力一样工作!

注意:更新到流星 1.4 时仍然会出现此问题

【问题讨论】:

【参考方案1】:

使用以下样式

import templateUrl from './meteorSample.html'

angular.module(module.name)
  .component('meteorSample', 
   templateUrl
 )

【讨论】:

我认为这是使用 angular2,对吧?任何使用 angular1 的解决方案?【参考方案2】:

Archimedes Trajano 的评论几乎是正确的,但是该问题的完整工作代码应如下所示:

import templateUrl from './base.html';

$stateProvider.state('base', 
        abstract: true,
        templateUrl,
        controller: 'BaseCtrl as base',
        ...

【讨论】:

我把 import templateUrl from './client/global/template/login.html';但我收到此服务器错误 Unable to resolve some modules: "../client/global/template/login.html" in /C/Users/mg-ya/Documents/worker_platform/lib/app.js (os.windows. x86_32) 删除所有路径,只保留 ./ 作为当前路径,假设您的 html 文件与 js 文件放在同一目录中。因此,最终导入看起来像这样: import templateUrl from "./login.html"; 请注意,由于meteor update --release 1.3.5.1 修复了问题,这些黑客似乎不再必要

以上是关于流星角更新到 1.3.4.4(从 1.3.4.1)破坏了模板的主要内容,如果未能解决你的问题,请参考以下文章

流星集合没有在启动时自动创建,并且 autoform 不会发布到 mongo db

流星如何更新浏览器?

流星自动将地理位置保存到用户文档

检查流星项目中的mongodb版本

在流星中将变量从父模板传递到子模板

流星订阅不更新集合的排序顺序