2015-01-12 25 views
9

Czy ktoś używa TypeScript z Sails? Jeśli tak, to w jaki sposób korzystasz z zewnętrznych deklaracji?Używanie TypeScript z żaglami

Jestem w trakcie projektu aplikacji Sails i dowiedziałem się o TypeScript. Próbuję ustalić, czy TypeScript jest czymś, co powinienem realizować dla tego projektu. Wszelkie informacje zostaną docenione. Dzięki.

Odpowiedz

6

od: https://github.com/balderdashy/sails Żagle są zbudowane z nodeconnectexpress i socket.io. Oznacza to, że pliki definicji dla tych bibliotek są tym, czego potrzebujesz. Wszystkie te są dostępne z repozytorium definicji Definicji TypeScript: https://github.com/borisyankov/DefinitelyTyped.

+0

obserwuję swoje prowadzenie Sprawdziłem wymienionych pakietów. node, express i socket.io są rzeczywiście w archiwum DefinitelyTyped. Jednak połączenie nie jest. Podczas dalszego czytania stwierdzam, że connect to naprawdę szereg modułów middleware, z których niektóre są również w archiwum DefinitelyTyped, ale niektóre nie. Dziękuję za wskazówki. –

+0

tak jak premię, możesz rozważyć instalację plików tsd dla async i lodash, ponieważ oba są dostarczane z żaglami – danba

0

typings.json

{ 
    "dependencies": { 
    "bluebird": "registry:npm/bluebird#3.5.0+20170314181206", 
    "connect": "registry:dt/connect#3.4.0+20160510010627", 
    "express": "registry:dt/express#4.0.0+20170118060322", 
    "express-serve-static-core": "registry:dt/express-serve-static-core#4.0.0+20170324160323", 
    "sails": "registry:npm/sails#0.12.0+20160610190623", 
    "serve-static": "registry:dt/serve-static#1.7.1+20161128184045" 
    }, 
    "globalDependencies": { 
    "es6-shim": "registry:dt/es6-shim#0.31.2+20160726072212", 
    "node": "registry:dt/node#7.0.0+20170322231424", 
    "socket.io": "registry:dt/socket.io#1.4.4+20170313110830" 
    } 
} 

powitanie kontroler

/** 
    * WelcomeController.ts 
    * 
    * @description :: Server-side logic for managing Welcomes in TS 
    * @help  :: See http://links.sailsjs.org/docs/controllers 
    */ 

    import e = require('express'); 
    import util = require('util'); 

    declare const sails: any; 

    const WelcomeController = { 
     index: function (req: e.Request, res: e.Response, next: Function) { 
     console.log('index() from WelcomeController.ts'); 
     sails.models.welcome.find().limit(1).then((welcome) => { 
      /// TODO: add logger 
      console.log(`welcome page rendering w/ message ${welcome[0].message}`); 
      return res.render('welcome', { 
      welcome: welcome[0].message 
      }); 
     }).catch((err:Error) => { 
      console.error(err.message); 
      return res.render('500', err) 
     }); 


     }, 
     config: function (req: e.Request, res:e.Response, next:Function) { 
     console.log('config() from WelcomeController.ts'); 
     return res.status(200) 
      .send('<h1>sails.config :</h1><pre>' + util.inspect(sails.config) + '<pre>'); 
     } 
    }; 

    module.exports = WelcomeController; 

modelu

export class Welcome { 
    attributes: any = { 
    id: { 
     type: 'integer', 
     primaryKey: true 
    }, 
    message: { 
     type: 'string', 
     required: true, 
     defaultsTo: 'default message' 
    } 
    }; 
} 

Zobacz

<div class="default-page"> 
 
    <div class="header"> 
 
    <h1 id="main-title" class="container"></h1> 
 
    <h3 class="container">Message: <code><%= welcome %></code></h3> 
 
    </div> 
 
    <div class="main container clearfix">

i tak dalej ... Zacząłem projekt przykład na git ale nigdy dokończona

https://github.com/aslanvaroqua/sails-ts

Powiązane problemy