繁体   English   中英

尝试使用节点的打字稿创建配置

[英]Trying to create a config with typescript for node

因此,我尝试做一个好孩子,做正确的事,目前,我想我会写一个相当简单的应用程序来更新数据库表,并且由于这些表属于一个应用程序,因此必须摆在我面前,但非常麻烦以为我会全部用打字稿写出来。

我没有完成edx.org上的Typescript课程的一部分,这似乎很容易,但是在将简单的配置导出转换为类时遇到了问题。

基本上,我试图替换一个简单的配置对象(在Javascript中看起来像这样)。

./config/config.js

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

我将其称为var config = require('./ config / config');

所以我的新./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"
    }
}

好的,也许有点高,但是我认为值得测试。 所以下一步就是导入值:import * as'./config/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";
    }

但是我无法获得任何变量,我只是以一种愚蠢的方式这样做吗?

尝试:

config.ts export default class config

并导入:

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

另外,请确保您确实将打字稿转换为javascript。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM