Jshint: 添加对动态导入的支持

创建于 2020-03-30  ·  5评论  ·  资料来源: jshint/jshint

使用 Visual Studio 代码 1.43.2

扩展名:“dbaeumer.jshint”使用来自 npm 的 jshint 全局安装

已安装 JSHint:2.11。 0@npm

预期行为:将import()识别为函数。

实际行为

JSHint 无法识别

import("module/path.mjs") //Returns Promise of export object

作为函数并抛出E053E021

此函数用于为不以“.mjs”结尾的脚本导入模块。
有关更多信息,请参见此 MDN 页面。

我不知道这个功能是否在提案中,它只适用于主流浏览器(Firefox、Chrome 等)和 node.js。


配置值


不使用 .jshintrc 文件,使用全局扩展设置。

{
"jshint.lintHTML": true,
    "jshint.options": {
        "esversion": 9,
        "varstmt": true,
        "unused": true,
        "undef": true,
        "singleGroups": true,
        "eqeqeq": true,
        "freeze": true,
        "lastsemic": true,
        "leanswitch": true,
        "latedef": true,
        "maxdepth": 4,
        "noreturnawait": true,
        "nonbsp": true,
        "noarg": true,
        "maxparams": 3,
        "maxerr": 10,
        "maxcomplexity": 15,
        "node": true
    }
}
Proposal

最有用的评论

感谢报告! 我们还没有实现对动态导入的支持,但我们计划这样做(它绝对满足我们对新语言功能的政策)。 这使得这更像是一个功能请求而不是错误报告,所以我稍微修改了问题的标题——希望你不介意。

如果您(或其他任何人)想尝试实现这一点,那么我很乐意提供指导!

所有5条评论

感谢报告! 我们还没有实现对动态导入的支持,但我们计划这样做(它绝对满足我们对新语言功能的政策)。 这使得这更像是一个功能请求而不是错误报告,所以我稍微修改了问题的标题——希望你不介意。

如果您(或其他任何人)想尝试实现这一点,那么我很乐意提供指导!

@jugglinmike考虑到这是一个 es2020 提案,您如何设想某人能够切换此功能? 我假设会有一个esversion: 11 ,我认为它也需要支持所有其他 es2020 提案(无效合并、可选链接等)。

我可能会考虑为这个特定提案提供支持,因为它会有所帮助。

esversion: 11对我来说听起来很合适,@almercier! 实现所有新的语言功能是一项艰巨的任务,我不希望有人自己承担所有这些。 如果您想专注于import表达式,那么我们可以并行处理其他功能(或发布部分支持新语言版本的版本)。

我已经更新了 Test262 的子模块,以便我们更好地覆盖新的语言功能。 我还为新的次要版本创建了一个跟踪分支; 这就是我们应该登陆新功能的地方。

今天发布的JSHint 2.13.0 版包括对动态导入的支持。 请务必通过esversion: 11或更高版本更新您的配置以选择加入新的语言功能。

此页面是否有帮助?
0 / 5 - 0 等级