我正在尝试模仿Todos示例的一些基本功能。在阅读spinejs.com,许多文章并尝试了几次之后,我确实需要在这里询问并获得一些帮助。我希望这更加明确,我也想帮助其他人。我在Windows7上,并且使用spine.app创建我的应用,控制器,模型-也使用jQuery.tmpl
我正在使用CS,但是还很新。

我不确定在哪里需要使用require(如果有的话)-我在所有M,C上使用modules.exports = ....语句
所以index.coffee应该可以找到,我认为
也许情况并非如此-即使控制器/联系人使用了modules.exports语句,索引仍然使用了require。

index.coffee是否只注重可见性?
我看到通讯录使用Contact时没有任何要求声明。

我已经从CS实例化了main.App Controller,就像在Todos中一样
或在html中的jQuery()脚本中,如在“联系人”中一样。
我假设你应该
-整个构建并包含application.js或
-使用jQuery()函数通过javascript创建您的应用。

如果可以编译,它将以public / application.js结尾吗?

我收到一个令人讨厌的解析错误,
是的,我知道您始终需要使用空格(没有制表符)

那样的话,我会挂在第一个需求行上
require('lib / setup')

我需要一些Cygwin的东西吗?如果有帮助,我可以得到。
而且我已经看到了Google网上论坛,guillaume86的评论,contrib和CS irc频道。

我不确定我的下摆是什么(日期)版本
但我确实尝试了minify:false,option和其他一些操作,以尝试对此进行调试。

好消息:我很固执,如果可以在这里得到一点帮助,它将使它起作用。
还有更多,但现在我要结束。
预先感谢您的建议。

最佳答案

我认为这不会对OP产生太大帮助,但我想写这篇文章可以帮助其他希望使用这些出色工具的人。

在继续之前:我已经用How to manage client-side JavaScript dependencies?的更新内容对此进行了重写

这是使用Spine,下摆,coffeescript应用程序进行设置的基本列表。我仅在Linux上进行开发,因此不确定这些步骤中的某些步骤是否在Windows上出现问题,即npm命令。在Mac上应该可以正常工作;我知道其他人使用相同的工具链。


在* nix系统上安装NPM:curl http://npmjs.org/install.sh | sh。我假设它可以从命令行使用。
npm install -g spine.app将使spine成为全局命令
spine app folder将在app中创建一个名为folder的Spine项目,生成正确的目录结构和一堆框架文件以开始使用。
cd文件夹并为所需的库编辑dependencies.json。将它们添加到slug.json,以便下摆知道在哪里也可以找到它们。您可以在全局(npm install -g hem)或本地安装hem,如下一步所示。
npm install .下载您刚刚输入的所有依赖项,包括下摆。
如果查看默认的spine配置,则有一个app/lib/setup.coffee,您可以在其中require从依赖项中获取所有需要的库。例子:

# Spine.app had these as dependencies by default
require('json2ify')
require('es5-shimify')
require('jqueryify')

require('spine')
require('spine/lib/local')
require('spine/lib/ajax')
require('spine/lib/manager')
require('spine/lib/route')

# d3 was installed via dependencies.json
require 'd3/d3.v2'

index.coffee中,您只需require lib/setup并为您的应用加载主控制器。另外,您需要require这些其他控制器中的任何其他类。
默认生成的index.html通常适合加载您的应用程序,但可以根据需要进行修改。
folder中,运行node_modules/hem/bin/hem server以启动hem服务器,然后导航至localhost:9294以查看您的应用。如果全局安装了hem(npm install -g hem),则hem server本身可能会起作用,但有时会对路径感到困惑。
使用适当的MVC技术构建应用程序的其余部分,并将手写笔用于CSS,将eco用于视图。


还有一件事:hem server通常会在更新代码并保存文件时自动更新,这使调试变得很困难。运行hem build会将您的应用编译为两个文件,分别为缩小的application.jsapplication.css。如果在此之后运行hem server,它将使用这些文件,并且不再自动更新。因此,在实际需要应用的精简版进行部署之前,请不要hem build

参见有关此主题的其他主题:Spine.js & hem getting started

Windows受支持(过去存在问题,但have been resolved)。实际上,下摆的一个分支会更积极地开发,因为原始分支不再由开发人员维护。您可以检出已经得到更新并最终可能获得Windows支持的分支version0_2version0_3

HTH。

09-19 10:42