Typescript:require语句不是import语句的一部分

用户762579:

打字稿版本2.2.2

我在UserRoutzr.ts中写了这个要求

const users = <IUser[]> require(path.join(process.cwd() + "/data"));

TSLint发出以下警告:

require statement not part of an import statement

如果我将其更改为:

import users = <IUser[]> require(path.join(process.cwd() + "/data"));

然后它引发了一个错误:

TS1003 Identifier expected

我应该如何重写此要求?感谢您的反馈

古:

TypeScript模块是ES6模块的实现。ES6模块是静态的。您的问题来自动态路径:path.join(process.cwd() + "/data")编译器无法在编译时确定它是哪个模块,并且linter不喜欢导致的原因any

您应该使用模块的静态路径。在编译时,TypeScript会解决它。并且影响到正确的导出类型(IUser[]users

import users = require("./yourModuleThatExportsUsers");

注意:如果模块data仅包含数据,则可以考虑将其更改为JSON文件,可以将其加载(Node.js)或捆绑(Webpack)。

UPDATE(从2019年5月开始)—还可以使用动态导入,TypeScript可以使用它接受静态和动态路径:

const users = await import("./yourModuleThatExportsUsers");

另请参阅:TypeScript 2.4发行说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

重用Drools`when`语句的一部分

使用变量作为语句的一部分

切换时出错,标签只能是语句的一部分,声明不是语句

MySQL-WHERE语句仅适用于SELECT语句的一部分

如何在 mysql 中执行 IF 语句作为 SELECT 语句的一部分

如何提取SQL语句的一部分以进行搜索和替换?

SQL语句删除列上的一部分URL

如何在子查询中使用HAVING作为Select语句的一部分

从if语句的第一部分返回后,否则

选择选项数组作为select语句的一部分

返回Int的函数如何成为if语句的一部分?

如何动态构造/更改LINQ语句的一部分

SQL - 试图判断查询的哪一部分与“OR”语句匹配

函数未执行(逻辑语句的一部分)

如何返回记录数作为select语句的一部分?

php if语句作为ajax调用的一部分没有失败

if语句仅可读取txt文件的最后一部分

如何使条件If语句在Python中只必须满足其条件的一部分?

尚未设置Ajax POST,但仍会激活php if语句的一部分

Laravel-将函数的一部分转换为排队的语句

将VARCHAR转换为SMALLDATETIME作为UPDATE语句的一部分

如何使用IF语句(如果遇到)继续执行Powershell脚本的一部分

C#如何检查if语句的哪一部分正确

使用 if 语句获取文件夹名称的一部分的 powershell 脚本

标签只能用作语句的一部分错误

php If语句作为函数内部返回值的一部分

在数组中存储“导入”语句的一部分

Swift-变量在if语句中作为更新的一部分,但随后将还原

Makefile仅显示echo语句的一部分