2017-10-12 121 views
0

我是NativeScript的新手,VSCode的新手和TypeScript定義的新手,並且在安裝VSCode時需要通過智能感知執行自動完成以獲取tns-core-模塊。用於NativeScript的VSCode IntelliSense無法找到模塊'ui/frame'

從我的package.json的依賴:

"dependencies": { 
    "lodash": "^4.17.4", 
    "nativescript-theme-core": "1.0.4", 
    "tns-core-modules": "3.2.0" 
} 

智能感知lodash完美的作品如預期。但是,對於來自tns-core-modules的任何內容的智能感知不起作用。

我從NativeScript的Sidekick中的空白模板創建了一個項目。圍繞谷歌搜索後,我加入了jsconfig.json如下:

{ 
    "compilerOptions": { 
     "checkJs": true, 
     "target": "ES6", 
     "allowSyntheticDefaultImports": true 
    }, 
    "include": [ 
     "app/**/*" 
    ] 
} 

CheckJS表明我這個錯誤在家庭page.js

enter image description here

盤旋在它讀取錯誤:

[js] Cannot find module 'ui/frame'. 

我試圖做各種事情,我老實說,只是不明白像:

/// <reference path="../../node_modules/tns-core-modules/tns-core-modules.d.ts" /> 
/// <reference path="../../node_modules/tns-core-modules/ui/frame/frame.d.ts"/> 

我的理解是,由於「UI /幀」是不是在的package.json,但nativeScript智能提取從TNS核心模塊的相應模塊基於什麼平臺它的建設...

最大的問題是:你如何讓VSCode知道正確的映射,並在ui/frame和適當的「frame.d.ts」之間建立連接。

在此先感謝!

編輯: 我想更新任何讀者,讓他們知道我不是也不想編寫TypeScript代碼,但我希望VSCode能正確解釋打印稿定義。

+0

會在ui/frame工作之前預先添加tns-core-modules嗎? – pkanev

+0

@pkanev沒有不幸的。我試過了,如果我對本地文字的理解是對的,那就沒有道理了。另外,如果你看看frame.d.ts,它實際上定義了模塊'ui/frame'。但是,我真的不知道打字稿。 –

+0

運行時檢查'ui/frame'是否是內置(tns-core-modules)模塊,然後繼續查看已安裝的node_modules。預先考慮'tns-core-modules'只會解析爲node_modules/tns-core-modules,所以沒有錯。 – pkanev

回答

0

答案是使用TypeScript。沒有它,我無法讓它工作。