问题标签 [grunt-ember-templates]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ember.js - 给定数据模板名称的匹配模板名称是什么
我正在使用grunt-ember-templates预编译我的模板。正如预期的那样,该工具将我的模板放入Ember.TEMPLATES
数组中。我正在微调grunt-ember-templates
. 为此,我想知道Ember.TEMPLATES
数组中的预期键是什么。假设我有这个模板:
目前我在一个名为 的文件中有这个模板app/templates/phones_index.hbs
,grunt-ember-templates
并将预编译的模板放入Ember.TEMPLATES["app/templates/phones_index"]
,但这是错误的。
预期的密钥是data-template-name="phones/index"
什么?
javascript - 无法使用带有预编译模板的最新 ember
我刚刚安装了最新的 ember 入门套件。它有:
- Ember.VERSION:1.0.0-rc.5
- Handlebars.VERSION:1.0.0-rc.4
- jQuery.版本:1.9.1
我grunt-contrib-handlebars@0.5.9
用来预编译我的模板(这是可用的最新版本)。我不知道该软件包中包含什么版本的车把,但在启动应用程序时出现以下错误:
我什至尝试加载另一个车把的运行时(版本1.0.0-rc.3
),但 ember 对此并不满意:
所以 ember 需要 1.0.0-rc.4,但是这个版本没有可用的 grunt 预编译器。第 22 条军规?
我应该删除预编译的模板吗?每次升级 ember 时都有这个休息时间会很烦人......
ember.js - 在带有全局变量的车把模板中使用 Ember 视图助手
有什么方法可以在不使用 Ember Application 全局变量的情况下在车把视图助手中引用 Ember 视图?在预编译我的车把模板并使用 Grunt 缩小我的 Ember 代码后,我收到以下错误。这似乎是因为 Ember 全局变量缩短为“a”,其中 Handlebars 模板仍然引用“App.View”。
MyView.hbs:
MyChildView.hbs:
JS:
错误:
未捕获的错误:断言失败:无法在路径“MyChildView”找到视图
解决方案:
通过使用渲染助手而不是视图找到了解决方案。
MyView.hbs:
javascript - Ember、Handlebars、Contrib-Ember-Templates 在移动浏览器上生成格式错误的模板
在移动浏览器上查看时,使用 Gruntjs 插件 contrib-ember-templates 会产生不正确的结果。
生成的模板
但是,通过实时调试编辑模板会产生所需的结果。
所需模板
附加信息
此问题仅在使用 EmberJS 缩小版(发布版本)时出现。
此问题不会在桌面浏览器上显示。
此问题不会产生控制台消息。
运行 grunt --verbose 不会显示错误/警告消息。
技术栈
NodeJS - v0.10.12
咕噜声-cli v0.1.9
咕噜声 v0.4.1
grunt-contrib-templates - 0.4.10
jQuery - v1.10.2
这些由 contrib-grunt-template 和前端客户端应用程序使用。
EmberJS - v1.0.0-rc.6-15-gfe89337(缩小)
车把 - 1.0.0
编辑:
此问题仅在模板上使用视图时出现。
未编译的模板
索引视图
编辑:
我已将其范围缩小到模板中的这一行。
ember.js - 无法使用 grunt-ember-templates 从外部文件加载 ember 模板
我index.html
在根目录中,我已经在其中指定了应用程序模板。我有一个保存 .hbs 模板的模板目录。
Gruntfile 是这样的:
我index.hbs
在模板目录中有一个文件,它只有一行:
当我运行 grunt 时,我得到这个result.js
我将result.js
文件包含在我的index.html
. 但是,我仍然没有看到渲染的重新模板内容。那么,我该如何让这个工作呢?
ember.js - 子文件夹中定义的组件模板在使用 grunt-ember-templates 编译它们时导致错误
我们严重依赖 ember 组件。最初,我们将所有与组件关联的 hbs 模板都写在“templates/components”文件夹中,但是由于组件的数量在增长,我们希望提供更多的结构并在 components 文件夹的子文件夹中定义模板。这样做时,ember 会抱怨
您正在 [SUBFOLDER] 命名空间中寻找 [XYZ] 组件,但找不到命名空间
我编译的模板如下所示:
但是,如果我要进行以下更改,事情就会奏效:
我现在的工作是像这样修改 gruntfile
我不确定这是余烬还是别的什么。但是把问题放在那里,希望有更好的解决方案。
更新 似乎问题是由于我们加载组件的方式引起的。我们基本上使用的是辅助函数,它根据我们传递给它的参数加载组件,例如:
我检查了 Ember.Handlebars.helpers,它似乎没有在组件内的任何文件夹中定义的组件。
templates - 未捕获的错误:模板是使用旧版本的 Handlebars 预编译的
我正在使用 Bower 来管理我的前端依赖项并grunt-ember-templates
预编译把手模板。
这些是 中的依赖项bower.json
:
...并在package.json
:
但是,当我编译并运行我的 Ember 应用程序时,我得到了这个错误:
Assertion failed: Ember Handlebars requires Handlebars version 1.0 or 1.1, COMPILER_REVISION expected: 4, got: 5 - Please note: Builds of master may have other COMPILER_REVISION values.
Uncaught Error: Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (>= 2.0.0) or downgrade your runtime to an older version (<= 1.0.rc.2).
这些是版本:
如您所见handlebars
,没有明确提到依赖项,而是通过 Ember 解决。但不知何故,它会解析为更新的(不兼容的)版本。
如何修复 的版本handlebars
?
ember.js - 我应该将我的 Grunt 编译的 Ember.js 模板放在我的 HTML 文件中的什么位置?
我正在开发一个简单的 Ember.js 和 Express 应用程序,到目前为止,我所有的模板都在我的index.html
文件中。这是我第一次将 Grunt 用于任何更少的预编译模板。(我正在使用Grunt-Ember-Handlebars来解决编译问题)
我已将所有模板移动到一个handlebars
文件夹中,并且它们编译到templates.js
同一个文件夹中。
我的问题是:templates.js
在我的 HTML 文件中,我应该在哪里包含链接到的脚本标记?
以下是我所有脚本的布局方式:
我的templates.js
文件路径是正确的,所以这不是问题。但它总是返回错误说明:
断言失败:找不到“索引”模板或视图。
我知道我需要包含它的唯一文件是我的ember.js
文件。除此之外,如果我将它包含在我的应用程序中的任何文件之后或之前,它对错误输出没有任何影响。
提前感谢您的帮助!
编辑: 这是我的 Gruntfile:
ember.js - Ember.js:如何在模板中只显示模型的一部分?
在模板中:
它将显示模型中的所有项目。
但我只想显示一些取决于索引的项目(例如:如果 index%2==0 则显示项目)。
有什么想法吗?谢谢
ember.js - 一个 Yeoman Ember 项目中的多个 Ember 应用程序
一个 yeoman ember 项目中是否可以有多个应用程序共享 UI/CSS/libs 等与一个 Gruntfile.js?
我曾尝试使用 Yeoman ember 生成器,一次用于 1 个应用程序环境非常棒。
但我的情况是我有多个使用相同 UI(LESS/CSS、bower_components)的 ember 应用程序(由于面向工作的限制而需要分开)。
因此,不必启动 5 个复制相同 UI 元素的不同构建环境(Yeoman ember 生成器),我希望能够将它们全部放在一个构建环境中。我已经尝试构建分类并调整 grunt 任务,但似乎“生成器-ember”的 Ember 编译逻辑只查看根目录中的 index.html。
欢迎任何信息/见解。