此语法需要一个导入的帮助程序,但无法找到模块“tslib”
This syntax requires an imported helper but module ‘tslib’ cannot be found
要解决错误“This syntax requires an imported helper but module ‘tslib’ cannot be found”,tslib
通过运行安装npm install -D tslib@latest
并确保您的 IDE 使用正确的(工作区)TypeScript 版本。
以下是错误发生方式的示例:
// ⛔️ Error: This syntax requires an imported helper but module 'tslib' cannot be found @sealed export class BugReport { type = 'report'; title: string; constructor(t: string) { this.title = t; } } function sealed(constructor: any) { Object.seal(constructor); Object.seal(constructor.prototype); }
安装最新版本tslib
tslib
首先,通过在项目的根目录中打开终端并运行以下命令来确保已安装。
npm install -D tslib@latest
确保你的 IDE 使用正确版本的 TypeScript
如果错误仍然存在,您的代码编辑器可能正在运行旧
版本的 TypeScript。
如果你使用 VSCode,你可以:
- 按下
CTRL + Shift + P
以打开命令面板。 - 键入
typescript version
并单击
TypeScript: Select TypeScript version
。 - 然后点击
Use Workspace version
。
设置target
为es6
或更新版本
如果您仍然遇到错误,请打开您的
tsconfig.json文件并确保您的
target
选项设置为es6
或更新。
tsconfig.app.json
请注意,如果使用 Angular 或构建过程中使用的任何配置文件,您可能还必须在文件中设置选项。
{ "compilerOptions": { "importHelpers": true, "target": "es6", }, "include": ["src/**/*"], "exclude": ["node_modules", "src/**/*.spec.ts"] }
target选项更改哪些 JavaScript 特性被降级,哪些保持不变。
如果您不想使用tslib
辅助函数,请删除该importHelpers
选项(如果您在文件中启用了该选项)tsconfig.json
。
删除您的 node_modules 并重新安装您的依赖项
如果错误没有解决,尝试删除你的node_modules
和
package-lock.json文件,重新运行
npm install
并重启你的 IDE。
# 👇️ (Windows) delete node_modules and package-lock.json rd /s /q "node_modules" del package-lock.json del -f yarn.lock # 👇️ (macOS/Linux) delete node_modules and package-lock.json rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # 👇️ clean npm cache npm cache clean --force npm install
如果错误仍然存在,请重新启动 IDE和开发服务器。
确保文件包含在你的项目中
如果您使用include或
files选项,请确保该文件包含在您的项目中并且正在被 TypeScript 跟踪。
如果您的项目使用排除
选项,请确保您的exclude
数组不排除您正在处理的文件。
该exclude
选项会更改该include
选项找到的内容,有效地从编译中过滤掉一些文件夹或文件。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: