是否有人使用TypeScript和Sails?如果是這樣,你用什麼外部聲明?使用TypeScript和Sails
我在Sails應用程序項目的中間,瞭解了TypeScript。我試圖確定TypeScript是否應該爲這個項目追求。任何信息將不勝感激。謝謝。
是否有人使用TypeScript和Sails?如果是這樣,你用什麼外部聲明?使用TypeScript和Sails
我在Sails應用程序項目的中間,瞭解了TypeScript。我試圖確定TypeScript是否應該爲這個項目追求。任何信息將不勝感激。謝謝。
來自:https://github.com/balderdashy/sails帆是用node
connect
express
和socket.io
建造的。這意味着這些庫的定義文件就是你需要的。所有這些都可以從Definitive TypeScript定義存儲庫中獲得:https://github.com/borisyankov/DefinitelyTyped。
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"
}
}
歡迎控制器
/**
* 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;
模型
export class Welcome {
attributes: any = {
id: {
type: 'integer',
primaryKey: true
},
message: {
type: 'string',
required: true,
defaultsTo: 'default message'
}
};
}
查看
<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">
等等...我開始了一個示例項目的混帳,但從來沒有完成:
跟隨引導我檢查了所提到的包。 node,express和socket.io確實在DefinitelyTyped存檔中。但是,連接不是。在進一步的閱讀中,我發現連接實際上是一系列中間件模塊,其中一些模塊也在DefinitelyTyped存檔中,但有些不是。感謝您的指導。 –
只是一個獎金,你可能會考慮安裝tsd文件的異步和lodash,因爲都提供了帆 – danba