角4找不到名称错误
问题描述:
我使用的是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'.
有关此问题可能存在的任何想法?
答
看到这里 - 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
}
],
答
将其添加到“脚本”参数,可以在地方的需要尝试import jwt-simple
声明。