【问题标题】:JSLint ES6 window in not definedJSLint ES6 窗口未定义
【发布时间】:2019-01-30 22:24:02
【问题描述】:

我正在使用最新的 JSLint 并让 JSLint 抱怨窗口未定义。在 es6 中,JSLint 指令不允许使用全局变量。

/*jslint es6*/
import AppConst from "@/constants/app.constant.js";
const applicationConfig = {
    showMobileView: null,
    is_iphone: null,
    imageryViewUseSubnav: null
};
window.addEventListener("resize", function () {
    applicationConfig.showMobileView = utilityService.is_small_device();
    applicationConfig.imageryViewUseSubnav = 
    utilityService.is_small_device();
    applicationConfig.is_iphone = utilityService.is_iphone();
});
export default applicationConfig;

【问题讨论】:

  • 如果我们导出模块,全局是不允许的。
  • 答案没有骰子?如果这不能回答您的问题,请告诉我,我会看看是否可以添加一些内容。

标签: javascript jslint


【解决方案1】:

你必须告诉 JSLint 你在浏览器上下文中。

您还有一些其他错误 - 未导入 utilityService,导出对象上没有 Object.freeze,等等。

如果我将它们全部清理干净,我会得到以下内容,这些内容会在今天的 JSLint.com 上显示,无需任何额外更改:

/*jslint browser */

// this wasn't used: import AppConst from "@/constants/app.constant.js";
import utilityService from "@/somewhere/file.js";

const applicationConfig = {
    showMobileView: null,
    is_iphone: null,
    imageryViewUseSubnav: null
};
window.addEventListener("resize", function () {
    applicationConfig.showMobileView = utilityService.is_small_device();
    applicationConfig.imageryViewUseSubnav =
            utilityService.is_small_device();
    applicationConfig.is_iphone = utilityService.is_iphone();
});
export default Object.freeze(applicationConfig);

【讨论】:

    猜你喜欢
    • 2017-10-01
    • 2010-12-23
    • 2021-10-06
    • 2019-06-03
    • 2021-01-15
    • 2019-10-12
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多