我发现在 Eclipse 中的单独项目中设置 Javascript / Angular.js、HTML 和 CSS 更容易,因为 Eclipse 项目配置可能会随着我不断抨击它而上升。
这意味着必须有 2 个可部署的工件,但此时这是可以接受的。在生产方面,如果随着 Eclipse JS 工具的成熟而变得更容易,我将重新组合到一个项目中。
网上所有的谷歌排名靠前的 JS / Angular HOWTO 都假设根本没有 java 或 maven 进入其中,但我有各种用例,我希望 HTML 在 JSP 文件中而不是作为静态文件,所以我创建了一个项目作为 Javascript、Java 和 Maven。
此外,还有一个很棒的 Maven 插件frontend-maven-plugin
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.0</version>
</plugin>
也就是说,引用:
Maven-node-grunt-gulp-npm-node-plugin 结束所有 maven-node-grunt-gulp-npm-plugin。
所以这将处理browserify
和grunt
或gulp
任务的持续集成。
很容易拆分 HTML 和 CSS 资源并将它们放入WebContent
为 Eclipse 动态 Web 模块自动创建的目录中。这使得在文件夹树中单击鼠标即可访问它们(与在 src/main/webapp 中单击 3 次相比)。
事实上,使用maven-war-plugin
它很简单,可以告诉 Eclipse 从哪里组装各个部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warSourceDirectory>${project.basedir}/WebContent</warSourceDirectory>
<webResources>
<webResource>
<directory>${project.basedir}/src/main/javascript</directory>
</webResource>
</webResources>
</configuration>
</plugin>
为了引入 ECMAScript 5 或 6 支持,我安装了Tern Eclipse 插件,它并没有完全接管项目配置,因为 Eclipse 仍然在其属性对话框中显示 ECMA 3 浏览器库,但它提供了代码完成和验证。
显然,使用 IntelliJ 整个事情会更容易,但希望这是 Eclipse 项目配置的最后一个大型会议,我需要做一段时间,所以我不会去那里。不知道Netbeans。
2016 年 9 月 23 日更新:
Eclipse 项目配置不是很稳定。起初,Angular 插件找不到我的 Angular 代码并在 HTML 中标记错误,除非 Javascript 位于 HTML 所在的同一目录或子目录中。我发现这些错误在我从头开始重新创建 Eclipse 项目后就消失了。
Eclipse 执行的默认验证也不好。他们检查 node_modules 和 bower_components 中的所有内容,除非关闭或使用过滤器重新配置以排除这些目录(有超过 25 个单独的验证配置要做)。
此外,当尝试扫描 angular.min.js 或 d3.min.js 等 3rd 方库中的代码时,Javascript 大纲视图会中断 - 4.6.1 版将于 2016 年 9 月底发布,其中包含解决这个问题。