再次......选择框架.我已停止使用这两个TowerJS和RailwayJS,但它们的接缝非常相似,选择哪种方式很困难
两者都基于Express,都是RoR风格的框架......
哪一个最有前途,哪一个会更受欢迎?
或许我已经走错了路?也许我应该选择其他框架.
我讨厌有这么多的框架可供选择,没有行业标准可以依赖,或多或少地确定框架将在近几年内开发......
请帮忙,需要专家建议.谢谢
尝试使用TowerJS设置基本站点作为测试,但在运行脚手架生成器时遇到此错误.
Macbook:app john$ tower generate scaffold Post title:string body:text belongsTo:user
{ [Error: Cannot find module 'coffee-script'] code: 'MODULE_NOT_FOUND' }
module.js:340
throw err;
^
Error: Cannot find module '/Users/john/Sites/tower/app/app/config/shared/application'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Function.Tower.Application.Application.reopenClass.instance (/usr/local/lib/node_modules/tower/lib/tower-application/server/application.js:42:15)
at _.extend.namespace (/usr/local/lib/node_modules/tower/lib/tower-support/shared/shared.js:218:30)
at GeneratorScaffoldGenerator.Tower.GeneratorResources.buildApp (/usr/local/lib/node_modules/tower/lib/tower-generator/server/resources.js:273:66)
at GeneratorScaffoldGenerator.Generator (/usr/local/lib/node_modules/tower/lib/tower-generator/server/generator.js:57:23)
at new GeneratorScaffoldGenerator (/usr/local/lib/node_modules/tower/lib/tower-generator/server/generators/tower/scaffold/scaffoldGenerator.js:21:61)
at Function.run (/usr/local/lib/node_modules/tower/lib/tower-generator/server/generator.js:22:12)
Run Code Online (Sandbox Code Playgroud) 我正在使用MySQL作为Rails应用程序,并希望能够将此数据库用于Node.js应用程序(特别是Tower.js).目前最成熟和/或最高性能的驱动程序是什么?
由于@ ryan下面的优秀输入,我看了一下Felix的内容.node-mysql
这里有一个非常优秀的播客,我强烈建议你听一下如果你对这些选项的细微历史和一般性讨论感兴趣,如果node-mysql
路径可能适合您:http://ia600804.us.archive.org/3/items/NodeupEleven/NodeupEleven.mp3
在圆桌讨论快速倾听到这一点之后,我非常有信心这是任何人现在采取的正确途径.此外,作为Node中数据库支持的一般状态,其他讨论很有意思.
我是节点新手.我非常喜欢AngularJS的方法.我喜欢我在towerjs中看到的东西.
有人把两者连在一起吗?我想到塔主要用于后端api /休息和客户端角度.
我正在研究将Ember.js与Node.js + Express + Tower.js集成的解决方案.
我刚刚开始研究Tower.js(最近几个小时),看起来框架提供了一个很好的结构,用于放置服务器端和客户端代码(类似于Rails中的assets文件夹).
由于一切都在Javascript中,我可以放置Ember应用程序代码:
在第二个解决方案中,可以在服务器上呈现视图并发送纯HTML.
还有Ember的应用逻辑(控制器,模型,状态......).如何更好地与服务器端Javascript(例如,node.js + Express + Tower.js)集成,以便最小化重复的代码.在理想情况下,您可以定义每个模型/控制器/等一次,并在服务器和客户端上使用它们.
我正在使用grunt在towerjs项目中观看我的coffeescript文件,并在它们发生变化时重新编译它们.这种配置由towerjs生成,看起来相当理智.问题是,一旦我开始这个过程,我会看到它盯住一个cpu核心(实际上,只是一个超线程).如果我从观察中移除了很多路径,我可以将其降低到大约25%的CPU,但这仍然非常糟糕.
我发现了一些已知问题和与Node的fs API甚至fs.watch 特别是 fswatch的跨平台不一致的引用.试过咕噜咕噜的简单手表,但没有做得更好.
我可以设置卫兵,但它可能是很有效,让它工作正常,功能上咕噜似乎很好 - 我很好奇,但如果其他人有任何其他建议.
我正在使用Tower.js 0.4.2-20.
我发送了HTML FORM标记的GET和POST请求.
'GET'请求是没有问题的回应.但'POST'请求是返回以下错误.
我缺少路由器设置?
routes.coffee:
Tower.Route.draw ->
@resources 'service'
@match '/service/add', to: 'service#add', via: 'post'
Run Code Online (Sandbox Code Playgroud)
ServiceController.coffee:
class ServiceController extends App.ApplicationController
index: ->
@render text: "GET"
create: ->
@render text: "POST"
add: ->
@render text: "ADD"
Run Code Online (Sandbox Code Playgroud)
index.html:
<form method='POST' action='service/add'>
<div><input type='submit' value='Add'></div>
</form>
Run Code Online (Sandbox Code Playgroud)
错误:
Error: Forbidden
at Object.exports.error (/var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/lib/utils.js:44:13)
at Object.module.exports [as handle] (/var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/lib/middleware/csrf.js:54:41)
at next (/var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/lib/proto.js:190:15)
at multipart (/var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/lib/middleware/multipart.js:57:27)
at module.exports (/var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:57:9)
at IncomingMessage.module.exports (/var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/lib/middleware/urlencoded.js:68:11)
at IncomingMessage.EventEmitter.emit (events.js:115:20)
at Object.resume (/var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/node_modules/pause/index.js:25:18)
at store.get.next (/var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/lib/middleware/session.js:311:15)
at /var/www/html/melissa/manage/development/yoshiaki-tanaka/node_modules/tower/node_modules/express/node_modules/connect/lib/middleware/session.js:333:9
Run Code Online (Sandbox Code Playgroud) node.js ×7
towerjs ×7
coffeescript ×2
express ×2
javascript ×2
angularjs ×1
ember.js ×1
frameworks ×1
gruntjs ×1
post ×1
railway.js ×1
total.js ×1