0

我尝试使用 IMA.js 框架(https://github.com/seznam/IMA.js-skeleton )创建我的第一个 javascript 同构应用程序。乍一看,我有几个问题:

  1. 调用“gulp.dev”会打开新的 Chrome 窗口。

    a) 为什么选择 Chrome?我可以改变它吗?如果我使用火狐怎么办?如果我根本没有 Chrome 怎么办?

    b) 为什么我不能关闭窗口?

  2. 有使用 IMAError 的建议。这是为什么?

  3. 为什么我必须将 $Utils 转发给 props?它的作用是什么?

  4. Controller 和 View 究竟是如何通信的?

4

1 回答 1

1

我将尝试回答您的问题:

  1. IMA.js 具有在保存的文件上启动的单元测试。用于运行 IMA.js 并且您的测试使用 Karma。Karma 需要一些启动器。

    a) Chrome 被用作 Karma 的默认启动器。在 karma.conf 中,可以将一个加载器更改为另一个加载器(Firefox、Opera、...)

    b) 您需要此浏览器窗口进行测试。当 PhantomJS 2.0 启动器发布时,它将是默认启动器。进行此更改后,它将在后台运行。

  2. IMAError 继承自本机错误。但它让您可以选择将其他参数添加到错误数据中 - 例如:状态代码、url 等。它也解决了堆栈的一些问题。

  3. $Utils 是一组用于 React 组件的实用程序、帮助程序或工具。它允许你将任何你想要的东西传递给组件。例如:用于生成链接的路由器、用于翻译的字典、用于向控制器触发事件​​的 EventBus 等。 $Utils 在每个设置了 $Utils 属性的组件内的 this.utils 属性中自动可用。

  4. 控制器正在设置视图的 React 状态。(请参阅https://medium.com/react-tutorials/react-state-14a6d4f736f5)从视图到控制器通信,您可以使用 EventBus 或任何您想要的(调度程序)。

于 2015-07-21T15:21:01.337 回答