我正在尝试模仿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.js
和application.css
。如果在此之后运行hem server
,它将使用这些文件,并且不再自动更新。因此,在实际需要应用的精简版进行部署之前,请不要hem build
。参见有关此主题的其他主题:Spine.js & hem getting started
Windows受支持(过去存在问题,但have been resolved)。实际上,下摆的一个分支会更积极地开发,因为原始分支不再由开发人员维护。您可以检出已经得到更新并最终可能获得Windows支持的分支
version0_2
或version0_3
。HTH。