我正在尝试按照此ud3323/bpm wiki page上的说明使用bpm创建Ember.js应用程序。然而,在最后一步(试一试!),而不是显示“恭喜!你现在正在运行Hello World v0.0.1”,它仍然显示“Hello World”。另外我在Firebug中看到以下错误:
未找到模块核心/主要部分 http://localhost:4020/assets/bpm_libs.js(第255行)
我在两台不同的计算机上逐行尝试了这个程序,但我得到了同样的错误。我上传了我的压缩项目here。有人可以帮我弄清楚我哪里出错了吗?
还有一个问题:生成的应用只能使用“bpm预览”运行吗?我在apache下移动了项目,当我尝试运行它时,我得到一个“spade undefined”错误。
感谢。
答案 0 :(得分:1)
我遇到了同样的问题,我通过导main.js
通过require('./core');
导入核心模块,而不是spade.require('./core')
来解决问题。
在转移到apache之前,你做过bpm rebuild
吗?
的更新:强> 的
我看了你的代码,问题是spade.require
的用法。您可以在应用程序文件中使用require
,例如require('./hello_world)
或require('hello_world/core')
。或者您可以使用spade.require
,但随后您必须明确编写您的应用程序名称,例如spade.require('hello_world/core')
。您也可以将两者混合使用,但我更喜欢使用require
方法。
第二个问题是您没有在templates.js
文件中通过require('./templates')
添加core.js
。
因此修改后的代码如下所示:
<强> core.js 强>
require('ember'); // load Ember.js dependencies
HelloWorld = Ember.Application.create({
VERSION: require('./~package').version
});
<强> main.js 强>
require('./core'); // make sure the app namespace loads first
require('./templates');
Ember.View.create({
templateName: 'main_page'
}).append();
<强> templates.js 强>
Ember.TEMPLATES['main_page'] = require('./templates/main_page');
<强>模板/ main_page.handlebars 强>
Congratulations! You are running HelloWorld v{{HelloWorld.VERSION}}