问题描述
要在 Node.js 应用程序中使用 TextEncoder 类,我会这样做:
const TextEncoder = require("util").TextEncoder;
代码运行良好,但我收到来自 Closure 编译器的不需要的警告:
[JSC_POSSIBLE_INEXISTENT_PROPERTY] Property TextEncoder never defined on ?
我怎样才能摆脱这个警告?
解决方法
它是说它没有看到该属性的定义。您可以:
-
(a) 通过外部提供:
https://developers.google.com/closure/compiler/docs/externs-and-exports
-
(b) 用 jsdoc 对它所报告的语句的注释来抑制它:
/** @suppress {missingProperties} */
抑制注释也可以位于文件顶部的
@fileoverview
JSDoc 注释中。可以在此处找到更多详细信息:
https://github.com/google/closure-compiler/wiki/@suppress-annotations
-
(c) 在命令行关闭警告,如果您使用的是标准命令行工具:
--warning_level=QUIET
关闭所有诊断或通过使用
)转换单个诊断组--jscomp_off=...
(例如--jscomp_off=missingProperties