我正在尝试模仿Todos示例的一些基本功能。在阅读了spinejs.com,许多文章,并尝试了几次并且没有开始,我确实需要在这里询问并获得一些帮助。我希望这更加明确,我也想帮助别人。我在Windows7上,我正在使用spine.app创建我的应用程序,控制器,模型 - 也使用jQuery.tmpl 我正在使用CS,但它很新。
我不确定我需要在哪里使用require(如果有的话) - 我在所有M,C上使用modules.exports = ....语句 所以index.coffee应该能够找到,我假设 也许情况并非如此 - 我看到即使控制器/联系人使用了modules.exports语句,索引仍然使用了一个require。
index.coffee是否特别关注可见性? 我看到联系人使用Contact而没有任何require语句。
我已经看到main.App控制器从CS实例化,就像在Todos中一样 或者在html中的jQuery()脚本中,如在Contacts中 我假设你应该 - 构建整个事物并包含application.js OR - 使用jQuery()函数通过javascript创建你的应用程序。
如果这确实编译了,它最终会在public / application.js吗?
我收到了一个令人讨厌的解析错误, 是的,我知道你一直都要使用空格(没有标签)
那个被挡住了,我在第一条需求线上挂了 要求( 'LIB /设置')
我需要一些Cygwin的东西吗?如果它有帮助,我可以得到它 我已经看过Google Groups,guillaume86的评论,contrib和CS irc频道。
我不确定我的下摆是什么(日期)版本 但我确实尝试了minify:false,option和其他一些东西,试图调试它。
好消息:如果我能在这里得到一些帮助,我会非常顽固并且会让它发挥作用。
还有更多,但我将在此时关闭。
提前感谢您的建议。
答案 0 :(得分:4)
我认为这不会对OP有太多帮助,但我想我会写这篇文章来帮助那些想要开始使用这些很棒工具的人。
在您进一步发展之前:我已使用How to manage client-side JavaScript dependencies?
的更新重写了此内容这是使用Spine,hem,coffeescript应用设置的基本列表。我只在Linux上开发,所以我不确定其中一些步骤是否会在Windows上出现问题,即npm
命令。应该在Mac上正常工作;我知道其他人使用相同的工具链。
curl http://npmjs.org/install.sh | sh
。我假设它可以从命令行获得。npm install -g spine.app
将使脊椎可用作全局命令spine app folder
将在app
中创建一个名为folder
的Spine项目,生成正确的目录结构和一堆骨架文件,以便开始使用。cd
到文件夹并编辑dependencies.json
以获取所需的库。将它们添加到slug.json
,以便下摆知道在哪里找到它们。您可以在全局(npm install -g hem
)或本地安装下摆,如下一步所示。npm install .
下载您刚刚输入的所有依赖项,包括下摆。如果你看一下默认的脊椎动态配置,你可以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
以启动下摆服务器,然后导航至localhost:9294
以查看您的应用。如果你全局安装了下摆(npm install -g hem
),那么hem server
本身可能会起作用,但有时它会对路径感到困惑。还有一件事:通常,hem server
会在您更新代码并保存文件时自动更新,这使得调试变得简单。运行hem build
会将您的应用编译为两个文件application.js
,该文件已缩小并application.css
。如果您在此之后运行hem server
,它将使用这些文件,不再自动更新。因此,在您真正需要缩小版本的应用程序进行部署之前,请不要hem build
。
请参阅另一个关于此问题的帖子:Spine.js & hem getting started
支持Windows(过去有人担心,但他们have been resolved)。实际上有一个下摆的分支更积极地开发,因为开发人员不再维护原始分支。您可以查看已获得更新的分支version0_2
或version0_3
,最终可能获得Windows支持。
HTH。