2016-11-20 7 views
0

私は良い男の子になり、正しいことをしようとしています。現在、データベーステーブルを更新するためのかなり単純なアプリケーションを書くと思います。私はそれを書いていると思っていました。ノード用のtypescriptを使ってconfigを作成しようとしています

私はedx.orgのTypescriptコースの一部を使っていませんでしたが、簡単に思えましたが、単純な設定のエクスポートをクラスに変換する際に問題があります。

基本的に、私は単純な設定オブジェクトを置き換えようとしています(Javascriptではこのように見えます)。

./config/config.js

modules.exports = { 
    'lokiLogDb': "./database/log.db", 
    'lokiCfgDb': "./database/cfg.db" 
} 

するvar設定=が( './設定/設定')が必要ですように私はそれを呼ぶだろう。

だから私の新しい./config/config.ts

export class config { 
    private _lokiLogDb : string = "./database/log.db"; 
    private _lokiCfgDb : string = "./database/cfg.db"; 
    private _lokiCfgKey : string = "Th1sC0uldUnl0ckYourK3y"; 
    get lokiLogDb() { 
     return this._lokiLogDb; 
    } 
    get lokiCfgDb() { 
     return this._lokiCfgDb; 
    } 
    set lokiCfgKey (passwd: string) { 
     return "Not ready yet"; 
    } 
    get lokiCfgKey() { 
     return "Not ready yet" 
    } 
} 

OK、トップの上に多分ビットが、私は思っ価値がテスト。 次のステップは値をインポートすることです: '*。/ config/config'からconfig *としてインポートします。

そして、それはすべて落ち着いています。私は自分のモジュールから値を読み取ることができません。私は間違って何をしているのですか?

======= ======= UPDATE

だから私の更新config.ts

export default class config { 
    private _lokiLogDb : string = "./database/log.db"; 
    private _lokiCfgDb : string = "./database/cfg.db"; 
    private _lokiCfgKey : string = "secretcode"; 

    get lokiLogDb() { 
     return this._lokiLogDb; 
    } 
    get lokiCfgDb() { 
     return this._lokiCfgDb; 
    } 
    set lokiCfgKey (passwd: string) { 
     return "Not ready yet"; 
    } 
    get lokiCfgKey() { 
     return "Not ready yet" 
    } 
} 

そして、私のapp.ts

import * as debugFactory from 'debug'; 
import * as http from 'http'; 
import * as express from 'express'; 
import * as path from 'path'; 
import * as logger from 'morgan'; 
import * as bodyParser from 'body-parser'; 

import config from './config/config'; 
console.log("Will connect to ", config) 
//import localDB from './modules/localdb'; 

import sampleRoute from './routes/sample'; 
の始まり

出力は

Will connect to function config() { 
     this._lokiLogDb = "./database/log.db"; 
     this._lokiCfgDb = "./database/cfg.db"; 
     this._lokiCfgKey = "secret"; 
    } 

ですが、変数のいずれかを取得する、私はちょうど愚かな方法でこれをやっている?あなたのconfig.ts

export default class configし、それをインポートします:

答えて

1

をして試してみてください

import {config} from './config/config'

また、実際にあなたのタイスクリプトをJavaScriptに変換していることを確認してください。

+0

私は明らかに何かが不足しています。上記のコードを更新しました。 – vrghost

関連する問題