运行bpm生成Ember应用程序时出错

时间:2012-02-15 03:40:23

标签: ember.js

我正在尝试按照此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”错误。

感谢。

1 个答案:

答案 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}}