所以我努力成为一个好孩子并做正确的事情,目前我认为我会编写一个相当简单的应用程序来更新数据库表,并且因为这些表属于一个应用程序,并且必须要点,但非常我觉得我会用打字稿写出来。
我没有通过edx.org上的一部分Typescript课程,看起来很容易,但我有一个问题,即将简单的配置导出转换为类。
基本上,我正在尝试替换一个简单的配置对象(在Javascript中看起来像这样)。
./配置/ 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"
}
}
好吧,也许有点过头了,但我觉得值得测试。 所以下一步是导入值: 从'./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";
}
但我无法得到任何变量,我只是以愚蠢的方式做这件事吗?
答案 0 :(得分:1)
尝试:
export default class config
中的 config.ts
并将其导入:
import {config} from './config/config'
。
另外,请确保您真正将您的打字稿转换为javascript。