我是Node.js的新手,已经提出了使用Node.js开发基于富Web的应用程序的要求。
现在,我正在研究node.js的入门指南。我有机会在这里查看页面,并对数百个框架感到困惑。我不知道如何选择合适的框架,因此需要帮助以做出完美的决定。让我解释一下我的要求。
请向我建议可以满足我的要求的框架。
谢谢,
这是我用于应用程序的良好技术堆栈:
服务器端:
客户端:
如果需要的话,我可能会在以后制作一些示例应用程序。
[编辑]
好的,这是一个示例应用程序。
项目结构:
forms |___ sampleForm.coffee models |___ sampleModel.coffee public |___ images |___ stylesheets | |___ style.less |___ sampleapp |___ main.js |___ cs.js |___ text.js |___ require.js |___ collections | |___ sampleCollection.coffee |___ models | |___ sampleModel.coffee |___ templates | |___ sampleTemplate.hbs |___ lib | |___ handlesbars.js | |___ backbone.js | | |___ ... |___ views |___ sampleView.coffee routes |___ index.coffee views |___ index.hbs app.js application.coffee package.json
app.js
require('coffee-script'); module.exports = require('./application.coffee');
应用coffee
... standard express.js initialization require("./routes")(app) ... start server
索引coffee
SampleModel = require "../models/sampleModel" module.exports = (app) => app.get "/index", (req,res) => return res.render "index" app.get "/samplemodels", (req,res) => SampleModel.find {}, (err, models) => return res.send 404 if err or !models return res.send models return
index.hbs
<!DOCTYPE HTML> <html> <head> <title>Sample app</title> <link type="text/css" href="/stylesheets/style.css" rel="stylesheet" > <script src="/mainapp/require.js" data-main="/mainapp/main"></script> </head> <body> <div id="main-content"></div> </body> </html>
main.js
require.config({...}) // Configure requires.js... require(["jquery", "cs!models/samplemodel", "cs!views/sampleview","cs!collections/samplecollection"], function ($, Model, View, Collection) { var collection = new Collection(); collection.fetch(); var view = new View({collection: collection}); $("body").html(view.render().$el); })
sampleview.coffee
define ["backbone", "jquery", "handlebars","text!templates/sampleTemplate.hbs"], (Backbone, $, Hbs, template) => class MainView extends Backbone.View initialize: => @collection.on "change", @render @template = Hbs.compile template render: => html = @template {models: @collection.models} @$el.html(html) return @
sampleTemplate.hbs
{{#models}} <p>{{name}}</p> {{/models}}
好的,这很重要。现在,您将学习如何使用Backbone.Collection,Backbone.Model,如何配置Require.js,如何配置Passport.js以及如何创建Mongoose模型。您可以使用Less中间件来编译样式。
不要忘记,您可以使用r.js预编译所有客户端应用程序。
现在,我希望不要忘记此页面,希望对以后遇到的任何人有所帮助。