Javascript 代码可能很难维护。
我正在寻找能够帮助我确保合理质量水平的工具。
到目前为止,我找到了JsUNIt,一个非常好的 javascript 单元测试框架。可以在任何可用浏览器上从 ant 自动运行测试。
我还没有找到一些与 PMD、checkstyle、Findbug 等价的 javascript...
你知道 javascript 的任何静态代码分析工具吗?
Javascript 代码可能很难维护。
我正在寻找能够帮助我确保合理质量水平的工具。
到目前为止,我找到了JsUNIt,一个非常好的 javascript 单元测试框架。可以在任何可用浏览器上从 ant 自动运行测试。
我还没有找到一些与 PMD、checkstyle、Findbug 等价的 javascript...
你知道 javascript 的任何静态代码分析工具吗?
这是一个旧线程,但如果您有兴趣在您的 maven 项目中运行 Jasmine 进行 BDD 测试,我正是为此目的编写了这个 jasmine-maven-plugin(即,通过鼓励它的 TDD 来提高 JS 质量)。
作为 Maven 中编译阶段的一部分,我使用以下代码运行 JSLint。
它从 maven 存储库下载 jslint4java,因此您不需要其他任何东西。
如果 JSLint 在 javascript 文件中发现问题,则构建将失败。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<taskdef name="jslint" classname="com.googlecode.jslint4java.ant.JSLintTask" classpath="${settings.localRepository}/com/googlecode/jslint4java/jslint4java-ant/1.4.2/jslint4java-ant-1.4.2.jar" />
<jslint options="white,browser,devel,undef,eqeqeq,plusplus,bitwise,regexp,strict,newcap,immed">
<predef>Ext,Utils</predef>
<formatter type="plain" />
<fileset dir="${basedir}/src/main/resources/META-INF/resources/js" includes="**/*.js" />
</jslint>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.googlecode.jslint4java</groupId>
<artifactId>jslint4java-ant</artifactId>
<version>1.4.2</version>
</dependency>
</dependencies>
</plugin>
Wro4j-maven-plugin还为 JavaScript 和 CSS 资源的静态代码分析提供了几个目标,例如:jslint、jshint和csslint
这是官方Wro4j-maven-plugin 文档的链接。
我在 Codehaus 提交的几个插件可能也很有趣:
http://mojo.codehaus.org/js-import-maven-plugin/
http://mojo.codehaus.org/jslint-maven-plugin/
第一个为 JavaScript 带来了 Maven 依赖管理。第二个允许快速有效地调用 JSLint。
“jslint ant task”的快速谷歌显示jslint4java,它显然包括一个 Ant 任务。
jslint4java 已经提到过几次,我不记得他们添加了哪个版本,但实际上有一个内置的 Maven 任务。
传统上使用 jslint4java 和 Maven,人们使用 antrun 插件来运行 jslint4java ant 任务,但是您现在可以在 Maven 中配置它并避免额外的步骤。
这个项目看起来很接近:
http://dev.abiss.gr/mvn-jstools/index.html
它使用 JsLint 生成报告。它看起来不像构建生命周期的测试阶段,所以我认为如果 jslint 发现问题(这是我想在我的项目中做的),它不会拒绝构建。
新的jslint-maven-plugin看起来很有用。它包装了 jslint4java,在构建的测试阶段执行 JSLint。
我参与过SweetDEV RIA 项目,它是一个由多个“Web 2.0/Ajax/JavaScript”组件组成的 Java 标记库。
maven 2 构建过程包括一些内部插件,这些插件启动JSLint(代码验证器)、JsMin(代码压缩器)、JsDoc 生成(JavaDoc 类文档)、JsUnit(单元测试)和Selenium(在浏览器中)测试。
您可以查看SweetDEV RIA maven 插件库。
声纳和 JavaScript 插件:http ://docs.codehaus.org/display/SONAR/JavaScript+Plugin