[英]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.