Поднимаем парус

Discussion in 'Javascript' started by ^NSA^, 29 Oct 2014.

  1. ^NSA^

    ^NSA^ Elder - Старейшина

    Joined:
    3 Jul 2012
    Messages:
    64
    Likes Received:
    29
    Reputations:
    32
    Поднимаем парус

    Привет всем сегодня мы будем поднимать паруса.
    Если вы знаете Javascript а учить другой язык у вас нет времени .
    А вам так хочется написать свое серверное приложение то Node для вас.

    Первым делом надо установить Node.js идем сюда сюда и качаем для Windows.
    В Ubuntu
    sudo apt-get update
    sudo apt-get install nodejs
    sudo apt-get install npm
    Когда установили проверяем консоли: node -v
    получаем ответ v0.10.12 значит все ок.
    Следующим шагом надо выбрать папку для своего проекта.
    Допустим на windows с:\app заходим сюда win+Shift или на Linux в консоле cd app .

    Потом в консоле : npm -g install sails
    в Linux sudo npm -g install sails

    если все ок в вашей папке app должно быть как на картинки

    [​IMG]

    чтобы увидить наш проект в браузере
    в консоле пишим команду sails lift.

    [​IMG]

    Если нет ошибок то заходим.
    http://localhost:1337

    [​IMG]

    Настраиваем маршрут в config/routes.js

    Code:
    '/': {
    //это путь сразу до шаблона
        view: 'homepage'
      },
    // это путь сразу до контроллера
     'get /welcome': 'HelloController.welcome',
    coздаем в папке api/controllers/HelloController.js
    // пишим

    Code:
    module.exports = {  welcome: function (req, res) {         return res.send("Welcome to Seals")         }  };
    останавливаем нас сервер ctl+c и запускаем занова
    заходим http://localhost:1337/welcome
    видим наш текст Welcome to Seals
    давайте сделаем так что можно было передать ваше имя плюс вывести в шаблоне.

    изменим маршрут
    'get /welcome/:say?': 'HelloDataController.welcome',

    say? Наш параметр
    а затем наш контроллер
    Code:
    welcome: function (req, res) {        var yourName="";        if(req.param('say')) yourName =req.param('say');    return res.view("name",{say:yourName});         }
    создаем в паке views/name.ejs
    в файл name.ejs
    HTML:
    <p>Welcome to Seals <%= say %></p>
    рестарт сервера

    http://localhost:1337/welcome/peter

    Давайте выведем наши данные из базы данных Mysql.
    качаем тут
    Сперва установим адаптер npm install sails-mysql
    настраиваем доступ бд

    config/connections.js

    Code:
    someMysqlServer: {     adapter: 'sails-mysql',     host: 'localhost',     port: 3306,     user: 'demo',     password: 'demo',     database: 'sails',     },
    потом изменяем в config/models.js
    добавляем
    connection: 'someMysqlServer'

    Сперва создаем таблицу с данными.

    INSERT INTO `sails`.`news` (
    `id` ,
    `title` ,
    `text`
    )
    VALUES (
    NULL , 'News 1', 'hello 1'
    );
    Затем в api/models/News.js
    добавляем описание

    Code:
    module.exports = { //   tableName: 'news', migrate: 'safe', autoPK: false,        // don't try and add a unique ID; we already have one  autoCreatedAt: false, // don't try and add a createdAt timestamp autoUpdatedAt: false, // don't try and add a updatedAt timestamp   attributes: {      id:{type:'integer',primaryKey: true},      title : { type: 'string',          maxLength: 200, //         required: true,      },      text : { type: 'string' },        }    };
    в нашем контроллере делаем выборку с бд

    Code:
     welcome: function (req, res) {    var yourName="";        if(req.param('say')) yourName =req.param('say');             News.findOne({ id: 1 }).exec(function(err,found){         if(err)              return res.serverError(err);          else{               return res.view("name",{say:yourName,info:found});          }          });
    views/name изменяем

    HTML:
    <p>Welcome to Seals <%= say %></p> <!-- update  --> <div> <h3><%= info.title %></h3> <p><%= info.text %></p> </div>
    рестарт сервера

    про mvc тут

    документация Sails

    автор ^NSA^ 2014г.
     
    smack likes this.