Home Web Front-end JS Tutorial Study guide of sails framework_node.js

Study guide of sails framework_node.js

May 16, 2016 pm 04:25 PM
nodejs

Last week I came into contact with the sails framework by building a CMS system and learned some ORM concepts. This week I started to delve into the background data interaction and found that the twenty framework's data structure has been designed on sails (such as node and category). I have to say that my senior is really awesome. However, the complexity has also increased. My task in the DTree project is to use sails to interact with business processes and databases. The rest of the week is all about using sails.

Introduction to sails

Sails, like ruby ​​on rails, is a framework designed to make web development easier. As far as I know during this period, it completely inherits some APIs of Express&Socket.io, and uses waterline (ORM) for unified database interaction, so that CRUD operations can be completed in different database environments without directly modifying the code; and The backbone framework synchronizes front-end and back-end data, and uses policies middleware for secure verification and interaction. Its own blueprints can interact with data through the RESTfull API without coding a single line in the front-end and back-end.

Socket.io & Express

I have learned these two things during the front-end time, one is websock communication, and the other is processing HTTP requests. sails did not redesign it but directly used these two tools to handle these functions, which greatly reduced the learning cost. Socket.io triggers messages on both the server and client sides, listens for messages, and acts accordingly.

Copy code The code is as follows:

`
//Server side
io.sockets.on("connection", function(sock){
sock.emit("normalMessage",{a:"c"});
});
//Customer service
sock.on("normalMessage", function(json){...});
`

The role of Express lies in routing operations, such as app.get('/login', function(req, res){});.
Sails Blueprints & Backbone
In web development, CRUD is a type of similar operation, such as get/post in http and select/insert in the database. The blueprint API of sails and the backbone framework of js both use a unified function (such as findOne), so that when the program establishes the model and the corresponding controller, the internal logic has already been established. For example, the commonly used users model in sails has a self-built controller to transmit and store users data. All we need to pay attention to is the specification of file names and business processes. If you want to override (overload) the original method, it is also possible. After we set the action and controller in the routes in the config folder, we can add the functions we need in the corresponding controller.

Waterline
The API of sails, a dependency package, is used to interact with the database, such as create(), findOne(), update(), etc. As mentioned before, we can call these methods directly without worrying about different database tools. For example, when entering data

Copy code The code is as follows:

`
Users.create({username: username, password: password}).exec(function(error, user) {
if (error) {
res.send(500, {error: "DB Error"});
} else {
req.session.user = user;
res.send(user);
}
`

The system defaults to the local file system to save data. If we need to choose mysql or mongoDB. Just modify it in the configuration file and select the adapter of the database to interact with the data.

Policies

Middleware applied on the controller, running before the http request is issued. Identity control can be implemented, for example, you can only take next actions after logging in.

Copy code The code is as follows:

`
if(req.session.user){
var action = req.options.action;
If(action == "create"){
req.body.userId = req.session.user.id;
           req.body.username = req.session.user.username;
}
next();
}else{
res.send("You Must Be Logged In", 403);
}
`
next

Sails has been successfully used, but more work needs to be done on this. Only by laying a solid foundation can we achieve specific needs. So I have to continue learning, find more routines to learn sails in depth, and also know the limitations of this framework.

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

The difference between nodejs and tomcat The difference between nodejs and tomcat Apr 21, 2024 am 04:16 AM

The main differences between Node.js and Tomcat are: Runtime: Node.js is based on JavaScript runtime, while Tomcat is a Java Servlet container. I/O model: Node.js uses an asynchronous non-blocking model, while Tomcat is synchronous blocking. Concurrency handling: Node.js handles concurrency through an event loop, while Tomcat uses a thread pool. Application scenarios: Node.js is suitable for real-time, data-intensive and high-concurrency applications, and Tomcat is suitable for traditional Java web applications.

The difference between nodejs and vuejs The difference between nodejs and vuejs Apr 21, 2024 am 04:17 AM

Node.js is a server-side JavaScript runtime, while Vue.js is a client-side JavaScript framework for creating interactive user interfaces. Node.js is used for server-side development, such as back-end service API development and data processing, while Vue.js is used for client-side development, such as single-page applications and responsive user interfaces.

Is nodejs a backend framework? Is nodejs a backend framework? Apr 21, 2024 am 05:09 AM

Node.js can be used as a backend framework as it offers features such as high performance, scalability, cross-platform support, rich ecosystem, and ease of development.

How to connect nodejs to mysql database How to connect nodejs to mysql database Apr 21, 2024 am 06:13 AM

To connect to a MySQL database, you need to follow these steps: Install the mysql2 driver. Use mysql2.createConnection() to create a connection object that contains the host address, port, username, password, and database name. Use connection.query() to perform queries. Finally use connection.end() to end the connection.

What is the difference between npm and npm.cmd files in the nodejs installation directory? What is the difference between npm and npm.cmd files in the nodejs installation directory? Apr 21, 2024 am 05:18 AM

There are two npm-related files in the Node.js installation directory: npm and npm.cmd. The differences are as follows: different extensions: npm is an executable file, and npm.cmd is a command window shortcut. Windows users: npm.cmd can be used from the command prompt, npm can only be run from the command line. Compatibility: npm.cmd is specific to Windows systems, npm is available cross-platform. Usage recommendations: Windows users use npm.cmd, other operating systems use npm.

Is nodejs a back-end development language? Is nodejs a back-end development language? Apr 21, 2024 am 05:09 AM

Yes, Node.js is a backend development language. It is used for back-end development, including handling server-side business logic, managing database connections, and providing APIs.

What are the global variables in nodejs What are the global variables in nodejs Apr 21, 2024 am 04:54 AM

The following global variables exist in Node.js: Global object: global Core module: process, console, require Runtime environment variables: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

Is there a big difference between nodejs and java? Is there a big difference between nodejs and java? Apr 21, 2024 am 06:12 AM

The main differences between Node.js and Java are design and features: Event-driven vs. thread-driven: Node.js is event-driven and Java is thread-driven. Single-threaded vs. multi-threaded: Node.js uses a single-threaded event loop, and Java uses a multi-threaded architecture. Runtime environment: Node.js runs on the V8 JavaScript engine, while Java runs on the JVM. Syntax: Node.js uses JavaScript syntax, while Java uses Java syntax. Purpose: Node.js is suitable for I/O-intensive tasks, while Java is suitable for large enterprise applications.

See all articles