Mojo是否向后使用jslint nomen flag?

时间:2013-05-14 06:02:20

标签: maven jslint mojo

我刚刚开始使用jsLint和mojo(1.7.1-alpha-1),这对我来说很光......

在我用于项目的pom.xml文件中,我为jsLint设置了以下内容:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jslint-maven-plugin</artifactId>
    <version>1.0.1</version>
    <executions>
            <execution>
                    <goals>
                            <goal>jslint</goal>
                            <goal>test-jslint</goal>
                    </goals>
            </execution>
    </executions>
    <configuration>

            <excludes>
                    <exclude>**/vendor/*</exclude>
            </excludes>
    </configuration>
</plugin>

在我的js文件的顶部,我有以下内容:

/*jslint nomen: true, browser: true, devel: true*/

在文件中我有一个叫做的方法:

Api.prototype._call = function (query) {...};

我称之为:

Api.prototype.product = function (options) {
            ...
            return this._call(query);
        };

现在对于奇怪的事情......

如果我用mvn clean install编译它,我会收到以下错误消息:

api.js:45:29:Unexpected dangling '_' in '_call'.

但是,如果我恢复nomen的标志说nomen: false mvn不抱怨! 另一方面,这导致IntelliJ用红色标记标记代码的_call部分,因为它是jsLint。

1 个答案:

答案 0 :(得分:0)

它看起来像是“jslint-maven-plugin”插件中的一个错误。

official JSLint docs如果不应检查姓名的初始或尾随下划线,则options checkboxes on jslint.com说nomen为“true。”您还可以使用the source code验证该内容。

“jslint-maven-plugin”源代码似乎反向出现:如果您在file a bug here中搜索“nomen”,您会看到它们将其映射到名为disallowDanglingUnderbarInIdentifiers的内容 - - nomen的含义的。 (我不完全确定这是如何转换为覆盖 JS文件中的配置设置,但它肯定似乎是可疑的。)

看起来你可以在插件上{{3}},如果这是任何安慰。