2017-08-24 296 views
0

我使用的是JWT簡單的庫:角4找不到名稱錯誤

https://www.npmjs.com/package/jwt-simple

在我的打字稿之一,我有以下幾點:

const jwt = require('jwt-simple'); 
const payload = { user: 'joesan' }; 
const secret = 'testtest'; 

現在,當我運行這個應用程序,它在具有要求(...)的地方失敗。它失敗,並顯示以下消息:

Cannot find name 'require'. 

有關此問題可能存在的任何想法?

回答

1

看到這裏 - nodejs require inside TypeScript file

打字稿不使用依賴進口的CommonJS的方法,所以你必須調整它一點點。

首先,您需要確保您的tsconfig.json文件中的allowJS選項設置爲true。

{ 
    "compilerOptions": { 
    ... 
    "allowJS": true, 
    ... 
    } 
} 

現在,我從鏈接粘貼最好的答案相關的上述

正確的語法是:

進口sampleModule =需要( '模塊名');或

從'modulename'導入*作爲sampleModule;然後用--module commonjs編譯你的 TypeScript。

如果包裝不來與index.d.ts文件和它的 的package.json沒有一個「分型」屬性,TSC將樹皮,它 不知道什麼是「模塊名」是指至。爲此,您需要 在http://definitelytyped.org/上爲它找到一個.d.ts文件,或者自己編寫一個 。

如果您正在爲Node.js編寫代碼,您還需要http://definitelytyped.org/中的node.d.ts文件 。

如果您使用的角度CLI,你也只是嘗試在角cli.json

}, 
    "apps": [ 
    { 
     "main": "src/main.ts", 
     "styles": [ 
     "../node_modules/bootstrap/dist/css/bootstrap.min.css" 
     ], 
     "scripts": [ // HERE 
     "../node_modules/bootstrap/dist/js/bootstrap.min.js" 
     ], 
     "tsconfig": "src/tsconfig.json", 
     "mobile": false 
    } 
    ], 
0

將其添加到「腳本」參數,可以在地方的需要嘗試import jwt-simple聲明。

相關問題