2016-04-26 61 views
0

我使用转换器将es6/typescript代码转换为es5。 原来这里是ES5代码皮克本机模块导入节点JS:将pg(postgress节点模块)本地从require转换为导入

var pg = require('pg').native 

随着ES6/typsecript模式我用:

import * as pge from "pg" 

,工作正常,但我无法找到语法。指定.native所以它得到正确transpiled要求( 'PG')原生

我想:

import * as pge from "pg" 
export let pg  = pge.native 

但我不确定这是否正确。有没有更好的办法?

回答

3

正确的语法是:

import { native as pg } from 'pg'; 

这是一样的:

var pg = require('pg').native; 

你会再使用pg变量,你会。

+0

似乎工作,但tslint说“pg没有出口成员原​​生”..我想这是一个定义问题,并不妨碍这个工作,你知道我怎么能摆脱这个错误? –

+0

您需要包定义,幸运的是它们存在于[DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/e937b3e64af586d19f2ea29fdf771e9dc4feecc8/pg/pg.d.ts)。 –

+0

只是泄漏问题。如何关闭pg连接?我试过pg.end(),但它不工作。这是我原来的问题https://stackoverflow.com/q/48617031/2547005 – Vardan