【问题标题】:JsLint4Java 'is not defined' warnings when using multiple .js files使用多个 .js 文件时出现 JsLint4Java“未定义”警告
【发布时间】:2023-11-03 10:15:02
【问题描述】:

使用多个 .js 文件时,例如如果我有一个包含单元测试的单独 .js 文件,我开始看到很多警告(我正在使用 Eclipse 插件),如下所示,其中一个 .js 文件正在引用另一个文件:

'<variable name>' is not defined

我可以通过为正在使用但不在物理 .js 文件中的任何变量包含以下内容来满足警告并且不会破坏我的代码:

var myVariableReference = myVariableFromOtherFile || {};

当然,缺点是我必须在单元测试文件中不断重复上述代码。例如,当我使用单元测试框架时,我必须继续为我在框架中使用的函数添加内联变量“引用”,例如:

var assertEquals = assertEquals || {}; 
var TestCase = TestCase || {};

有没有办法在 Eclipse 中进行配置,以便 JsLint4Java 将文件作为一个整体进行扫描?或者设置“忽略”规则会很好,这样我就可以避免前面描述的重复变量。

【问题讨论】:

    标签: javascript eclipse jslint jslint4java


    【解决方案1】:

    您是否尝试过使用undef 选项?您也可以尝试使用 predef 标签来定义 lint 应该使用的任何全局变量,除了:

    <target name = "lint">
        <echo message = "Running source files through JSLint..."></echo>
        <jslint options = "newcap,vars,browser">
            <formatter type = "plain" />
            <predef>app,$,other-variables-that-are-global-go-here</predef>
            <fileset dir = "${js}" includes = "**/*.js" />
        </jslint>
    </target>
    

    【讨论】:

      最近更新 更多