Node. js and Sails ~ Project Structure and Mvc implementation and Log Mechanism, node. jssails
This article first introduces the Log Mechanism of node. js and sails from the installation of Sails. You can't wait to see the following, okay.
Sails is a Node. js Middleware Architecture that helps us easily build WEB applications.
1. Install Sails
Npm-g install sails
2. Create a Sails Project
Sails new testProject
3. Start the project
Cd testProject
Sails lift
The structure of the four projects, based on the MVC Concept
We can see that it is composed of model, view, controller, and the call relationship between them and. net mvc is very similar,. the model in net mvc mainly refers to viewmodel, while the model in sails mainly refers to the data model, that is. the Entity in. net is an abstraction of data tables. For data persistence, sails provides many types, such as local files, mysql, mongodb, and redis, for sqlserver, we can also find third-party components.
5. Use the controller action to render the view
We are. net mvc, we all know that the view is rendered through the render method of action, so does sails. You can use the native render or the encapsulated view method, you can directly use the object returned by your action in the view.
Controller/action content
Module. exports = {index: function (req, res) {return res. view ("test/index", {title: "", engTitle: "Lind"}); // return res. view ("view_name", data) // If the view_name parameter is null, the current action is used }};
View-ejs content
<P> object returned from action-title: <% = title %> </p>
<P> returned object from action-engTitle: <% = engTitle %> </p>
The call result is as follows:
If you enter the index page, you can directly write the Controller name
If other actions want to take a route like/test, you need to configure it in config/route. js. For example, add the route as/user for the add action. Its settings are as follows:
'Get/user': {view: 'user/add', locals: {layout: null }},
'Get/test': {view: 'test/Index', locals: {layout: null }}
Now, the simplest mvc demo is ready. In the next section, we will reference the Model, that is, the data persistence mechanism, to perform the curd operation on the data table, coming soon...
Ps: Node. js and Sails ~ Log Mechanism
When you see the logs of Sails, you will think of log4net. Indeed, they are similar in many places, and they all adopt the hierarchical record method. I think sails is more convenient to use, it does not require us to do more things, but directly sails. log. level ("your log Content"). You don't need to worry about the singleton or persistence mode. The log of Sails is only for the console. A supplement to log can be understood as the console after the class is divided. log, which is distinguished by colors.
1. Let's take a look at the log Level of sails. log.
Priority |
Level |
Log fns visible |
0 |
Silent |
N/ |
1 |
Error |
.error() |
2 |
Warn |
.warn() ,.error() |
3 |
Debug |
.debug() ,.warn() ,.error() |
4 |
Info |
.info() ,.debug() ,.warn() ,.error() |
5 |
Verbose |
.verbose() ,.info() ,.debug() ,.warn() ,.error() |
6 |
Silly |
.silly() ,.verbose() ,.info() ,.debug() ,.warn() ,.error() |
2. test our logs.
Sails. log ('debug log! '); // Sails. log. debug ("debug ")
Sails. log. error ('error log! ');
Sails. log. warn ('warn log! ', 'Request aborted .');
Sails.log.info ('info log! ');
Sails. log. verbose ('verbose log! ');
Sails. log. silly ('silly log! ');
Log Level of the three configuration items, in config/log. js
Module. exports. log = {
Level: 'info'
};
4. We can see from the results that only logs with a lower level than the current configuration are recorded.
How about sails logs!