What is Express.js?

后端 未结 8 2072
北荒
北荒 2020-12-02 03:42

I am a learner in Node.js.

  1. What\'s Express.js?
  2. What\'s the purpose of it with Node.js?
  3. Why do we actually need Express.js? How is it useful fo
相关标签:
8条回答
  • 2020-12-02 04:07

    Express.js created by TJ Holowaychuk and now managed by the community. It is one of the most popular frameworks in the node.js. Express can also be used to develop various products such as web applications or RESTful API.For more information please read on the expressjs.com official site.

    0 讨论(0)
  • 2020-12-02 04:09

    1) What is Express.js?

    Express.js is a Node.js framework. It's the most popular framework as of now (the most starred on NPM).

    Enter image description here.

    It's built around configuration and granular simplicity of Connect middleware. Some people compare Express.js to Ruby Sinatra vs. the bulky and opinionated Ruby on Rails.

    2) What is the purpose of it with Node.js?

    That you don't have to repeat same code over and over again. Node.js is a low-level I/O mechanism which has an HTTP module. If you just use an HTTP module, a lot of work like parsing the payload, cookies, storing sessions (in memory or in Redis), selecting the right route pattern based on regular expressions will have to be re-implemented. With Express.js, it is just there for you to use.

    3) Why do we actually need Express.js? How it is useful for us to use with Node.js?

    The first answer should answer your question. If no, then try to write a small REST API server in plain Node.js (that is, using only core modules) and then in Express.js. The latter will take you 5-10x less time and lines of code.

    What is Redis? Does it come with Express.js?

    Redis is a fast persistent key-value storage. You can optionally use it for storing sessions with Express.js, but you don't need to. By default, Express.js has memory storage for sessions. Redis also can be use for queueing jobs, for example, email jobs.

    Check out my tutorial on REST API server with Express.js.

    MVC but not by itself

    Express.js is not an model-view-controller framework by itself. You need to bring your own object-relational mapping libraries such as Mongoose for MongoDB, Sequelize (http://sequelizejs.com) for SQL databases, Waterline (https://github.com/balderdashy/waterline) for many databases into the stack.

    Alternatives

    Other Node.js frameworks to consider (https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API):

    UPDATE: I put together this resource that aid people in choosing Node.js frameworks: http://nodeframework.com

    UPDATE2: We added some GitHub stats to nodeframework.com so now you can compare the level of social proof (GitHub stars) for 30+ frameworks on one page.

    enter image description here

    Full-stack:

    • http://sailsjs.org

    • http://derbyjs.com/

    Just REST API:

    • http://mcavage.github.io/node-restify/

    Ruby on Rails like:

    • http://railwayjs.com/

    • http://geddyjs.org/

    Sinatra like:

    • http://expressjs.com/

    Other:

    • http://flatironjs.org/

    • https://github.com/isaacs/npm-www

    • http://frisbyjs.com/

    Middleware:

    • http://www.senchalabs.org/connect/

    Static site generators:

    • http://docpad.org

    • https://github.com/jnordberg/wintersmith

    • http://blacksmith.jit.su/

    • https://github.com/felixge/node-romulus

    • https://github.com/caolan/petrify

    0 讨论(0)
提交回复
热议问题