我使用的是jwt简单库:
https://www.npmjs.com/package/jwt-simple
在我的一份打字稿中,我有以下内容:
const jwt = require('jwt-simple');
const payload = { user: 'joesan' };
const secret = 'testtest';现在,当我运行这个应用程序时,它在有需求(.)的地方失败了。它失败的消息如下:
Cannot find name 'require'.对问题可能是什么有什么想法吗?
发布于 2017-08-24 19:40:38
看这里- nodejs require inside TypeScript file
类型记录不使用依赖项导入的CommonJS方法,因此您必须稍微修改它。
首先,您需要确保allowJS选项在tsconfig.json flie中设置为true。
{
"compilerOptions": {
...
"allowJS": true,
...
}
}现在我从上面的链接中粘贴最好的相关答案
正确的语法是: 导入sampleModule =require(‘模名’);或 从‘模名’导入*作为sampleModule;然后用--模块公共项编译TypeScript。 如果包没有附带一个index.d.ts文件,而且它的package.json没有“类型”属性,那么tsc就会吠叫它不知道什么是'modulename‘。为此,您需要在.d.ts上为它找到一个http://definitelytyped.org/文件,或者自己编写一个。 如果您正在为Node.js编写代码,您还需要来自http://definitelytyped.org/的node.d.ts文件。
如果使用的是角CLI,也可以尝试将其添加到角-cli.json中的“script”参数中。
},
"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
}
],发布于 2017-08-24 19:59:02
您可以尝试使用import jwt-simple代替require语句。
https://stackoverflow.com/questions/45869522
复制相似问题