2016-11-20 3 views
0

저는 좋은 소년이되고 올바른 일을하려고합니다. 현재는 데이터베이스 테이블을 업데이트하는 다소 간단한 응용 프로그램을 작성하고 테이블이 응용 프로그램에 속하기 때문에, 에 자리를 잡아야하지만 매우 까다 롭고 나는 타이프 스크립트로 모든 것을 쓸 것이라고 생각했습니다.노드에 typescript를 사용하여 구성을 만들려고 시도했습니다.

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, 맨 위에 어쩌면 조금,하지만 가치가 테스트 나는 생각했다. 다음 단계는 값을 가져 오는 것입니다 : import * as config from './config/config';

그리고 그것이 모든 부분으로 떨어집니다. 모듈에서 값을 읽을 수 없습니다. 내가 뭘 잘못했는지, 내가 무엇을 놓쳤는가?

======= 업데이트 =======

그래서 내 업데이트 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"; 
    } 

하지만 캘리포니아입니다 nt 변수 중 하나에 도달, 나는 단지 바보 같은 방식으로 이것을합니까?

답변

1

을 시도해보십시오 :

export default class config 당신의 config.ts

과 함께 가져옵니다

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

또한 입력 스크립트가 실제로 자바 스크립트로 옮겨지고 있는지 확인하십시오.

+0

나는 명확하게 뭔가를 놓치고있다, 위의 자신의 코드를 업데이트했다 (잘 1 분 안에 가질 것이다) – vrghost

관련 문제