Ember.TEMPLATES 为空(ember-cli-htmlbars)
Ember.TEMPLATES is empty (ember-cli-htmlbars)
我们目前正在使用 ember-cli 1.10.0
,它与 ember-cli-htmlbars 0.7.4
一起开箱即用。
我们的应用程序目录是 ember-cli
开箱即用的设置。 app > templates
中有一个 application.hbs
文件,我们添加了一个目录 app > templates > application
,其中我们有要为 application.hbs
加载的所有部分。偏音之一是 _google_analytics.hbs
.
我们将运行存入错误Uncaught Error: Assertion Failed: Unable to find partial with name "application/google_analytics"
,而Ember.TEMPLATES
在控制台中为空。当我们故意搞乱_google_analytics.hbs
时,ember server
会报错编译失败,所以所有的模板运行都可以通过编译器,但是Ember无法通过找到他们。
这是我们的 package.json
文件:
{
"name": "app",
"version": "0.0.0",
"description": "Small description for app goes here",
"private": true,
"directories": {
"doc": "doc",
"test": "tests"
},
"scripts": {
"start": "ember server",
"build": "ember build",
"test": "ember test"
},
"repository": "",
"engines": {
"node": ">= 0.10.0"
},
"author": "",
"license": "MIT",
"devDependencies": {
"broccoli-asset-rev": "^2.0.0",
"ember-cli": "0.2.0-beta.1",
"ember-cli-app-version": "0.3.1",
"ember-cli-babel": "^4.0.0",
"ember-cli-dependency-checker": "0.0.7",
"ember-cli-dotenv": "^0.4.0",
"ember-cli-htmlbars": "0.7.4",
"ember-cli-ic-ajax": "0.1.1",
"ember-cli-inject-live-reload": "^1.3.0",
"ember-cli-qunit": "0.3.8",
"ember-cli-simple-auth": "^0.7.3",
"ember-cli-uglify": "1.0.1",
"ember-data": "1.0.0-beta.15",
"ember-export-application-global": "^1.0.2",
"express": "^4.8.5",
"glob": "^4.0.5"
}
}
这是我们的 bower.json 文件:
{
"name": "app",
"dependencies": {
"jquery": "^1.11.1",
"ember": "1.10.0",
"ember-data": "1.0.0-beta.15",
"ember-resolver": "~0.1.11",
"loader.js": "ember-cli/loader.js#1.0.1",
"ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3",
"ember-cli-test-loader": "ember-cli-test-loader#0.1.3",
"ember-load-initializers": "ember-cli/ember-load-initializers#0.0.2",
"ember-qunit": "0.2.8",
"ember-qunit-notifications": "0.0.7",
"qunit": "~1.17.1",
"ember-simple-auth": "~0.7.3",
"bootstrap": "~3.3.2",
"normalize.css": "~3.0.2"
},
"devDependencies": {
"dynatable": "~0.3.1",
"bootstrap-datepicker": "~1.3.1",
"hopscotch": "~0.2.3",
"jquery-dateFormat": "~1.0.2"
}
}
这是我们的 Brocfile:
/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var app = new EmberApp({
dotEnv: {
clientAllowedKeys: ['SOME_KEY', 'SOME_OTHER_KEY']
}
});
module.exports = app.toTree();
我们甚至搞砸了 environments.js
并打开了 html-bars
功能,如下所示:
EmberENV: {
FEATURES: {
'ember-htmlbars': true
// Here you can enable experimental features on an ember canary build
// e.g. 'with-controller': true
}
},
但这没有用,因为我们没有使用 Ember 的金丝雀版本。我们还没有在其他任何地方看到这个问题的记录,所以看起来很明显我们遗漏了这个问题。任何帮助将不胜感激!
删除前导下划线 (_
)。
根据 Ember-CLI Docs,正确的模板文件名应该是 app/templates/
文件夹中的 google_analytics.hbs
。
{{partial "google_analytics"}}
会引用templates/google_analytics.hbs
Ember.TEMPLATES
为空,因为 CLI 对所有内容都使用模块,包括模板。模板存储为前缀为 application_name/templates/
的模块。由于这与正常约定不同,CLI 使用自定义解析器让 Ember 在此位置找到模板。如果您检查您的源代码,您会发现您的所有模板都将在遵循此约定的模块中。
我们目前正在使用 ember-cli 1.10.0
,它与 ember-cli-htmlbars 0.7.4
一起开箱即用。
我们的应用程序目录是 ember-cli
开箱即用的设置。 app > templates
中有一个 application.hbs
文件,我们添加了一个目录 app > templates > application
,其中我们有要为 application.hbs
加载的所有部分。偏音之一是 _google_analytics.hbs
.
我们将运行存入错误Uncaught Error: Assertion Failed: Unable to find partial with name "application/google_analytics"
,而Ember.TEMPLATES
在控制台中为空。当我们故意搞乱_google_analytics.hbs
时,ember server
会报错编译失败,所以所有的模板运行都可以通过编译器,但是Ember无法通过找到他们。
这是我们的 package.json
文件:
{
"name": "app",
"version": "0.0.0",
"description": "Small description for app goes here",
"private": true,
"directories": {
"doc": "doc",
"test": "tests"
},
"scripts": {
"start": "ember server",
"build": "ember build",
"test": "ember test"
},
"repository": "",
"engines": {
"node": ">= 0.10.0"
},
"author": "",
"license": "MIT",
"devDependencies": {
"broccoli-asset-rev": "^2.0.0",
"ember-cli": "0.2.0-beta.1",
"ember-cli-app-version": "0.3.1",
"ember-cli-babel": "^4.0.0",
"ember-cli-dependency-checker": "0.0.7",
"ember-cli-dotenv": "^0.4.0",
"ember-cli-htmlbars": "0.7.4",
"ember-cli-ic-ajax": "0.1.1",
"ember-cli-inject-live-reload": "^1.3.0",
"ember-cli-qunit": "0.3.8",
"ember-cli-simple-auth": "^0.7.3",
"ember-cli-uglify": "1.0.1",
"ember-data": "1.0.0-beta.15",
"ember-export-application-global": "^1.0.2",
"express": "^4.8.5",
"glob": "^4.0.5"
}
}
这是我们的 bower.json 文件:
{
"name": "app",
"dependencies": {
"jquery": "^1.11.1",
"ember": "1.10.0",
"ember-data": "1.0.0-beta.15",
"ember-resolver": "~0.1.11",
"loader.js": "ember-cli/loader.js#1.0.1",
"ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3",
"ember-cli-test-loader": "ember-cli-test-loader#0.1.3",
"ember-load-initializers": "ember-cli/ember-load-initializers#0.0.2",
"ember-qunit": "0.2.8",
"ember-qunit-notifications": "0.0.7",
"qunit": "~1.17.1",
"ember-simple-auth": "~0.7.3",
"bootstrap": "~3.3.2",
"normalize.css": "~3.0.2"
},
"devDependencies": {
"dynatable": "~0.3.1",
"bootstrap-datepicker": "~1.3.1",
"hopscotch": "~0.2.3",
"jquery-dateFormat": "~1.0.2"
}
}
这是我们的 Brocfile:
/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var app = new EmberApp({
dotEnv: {
clientAllowedKeys: ['SOME_KEY', 'SOME_OTHER_KEY']
}
});
module.exports = app.toTree();
我们甚至搞砸了 environments.js
并打开了 html-bars
功能,如下所示:
EmberENV: {
FEATURES: {
'ember-htmlbars': true
// Here you can enable experimental features on an ember canary build
// e.g. 'with-controller': true
}
},
但这没有用,因为我们没有使用 Ember 的金丝雀版本。我们还没有在其他任何地方看到这个问题的记录,所以看起来很明显我们遗漏了这个问题。任何帮助将不胜感激!
删除前导下划线 (_
)。
根据 Ember-CLI Docs,正确的模板文件名应该是 app/templates/
文件夹中的 google_analytics.hbs
。
{{partial "google_analytics"}}
会引用templates/google_analytics.hbs
Ember.TEMPLATES
为空,因为 CLI 对所有内容都使用模块,包括模板。模板存储为前缀为 application_name/templates/
的模块。由于这与正常约定不同,CLI 使用自定义解析器让 Ember 在此位置找到模板。如果您检查您的源代码,您会发现您的所有模板都将在遵循此约定的模块中。