2017-08-23 225 views
1

我有需要使用mysqljs的(https://www.npmjs.com/package/mysql)一個打字稿的NodeJS項目,我已經導入了DefinitelyTyped包(https://www.npmjs.com/package/@types/mysql),並在我的tsconfig文件中包含他們下使用mysql類型的打字稿

tsconfig.json

{ 「compilerOptions」:{ 「noImplicitAny」:假的, 「模塊」: 「CommonJS的」, 「noEmitOnError」:真實, 「removeComments」:假的, 「sourceMap」:真實, 「目標」: 「ES6」 }, 「排除」:[ 「node_modules」 ], 「typeRoots」:[ 「node_modules/@類型」, 「腳本/分型/節點」 ], 「類型」:[ 「MySQL的」, 「節點」 ] }

我能夠正確使用的MySQL模塊的功能,但我不能訪問類型(IConnection,IQUERY等)。 我也可以看到來自intellisense的參數和返回類型。

import * as mysql from 'mysql' 
... 
getUser(username: string): User { 
     mysql.createConnection({ host: "...", user: "...", password: "..." }); 
    } 

但是我想使返回在MySQL分型中定義的類型的方法(IQUERY例如)

喜歡的東西

getUser(username:string): IQuery{ 
} 

作爲一個來自ac#背景的打字稿中的初學者,我沒有看到這裏發生了什麼。

感謝您的幫助。

編輯: 我已經嘗試過,他沒有任何成功的前綴,以及通過這種格式import {IConnection} from 'mysql' 再次感謝。

回答

0

您可以通過mysql前綴的接口訪問:

getUser(username:string): mysql.IQuery { 

} 
+0

我試過,但它仍然不顯示或編譯,也許它是我的IDE? – uint32

+1

你是否真的安裝過類型? 'npm install @ types/mysql --save-dev' – Saravana

+0

是的,我可以在IDE中看到類型,我似乎無法從模塊外部訪問它們。我也嘗試過你的命令,但沒有成功。 – uint32

1

它好像ReSharper的是我的問題,我還沒有找到如何忽略錯誤或雖然解決這些問題。 我重新安裝了Visual Studio 2017,它沒有使用Resharper,但是當我安裝它時,我又開始出現問題。 感謝您的幫助! 如果我能找到解決方案,我會編輯它。