Java 使用 nodejs、angular、karma、jasmine 和 maven 的动态 Web 项目

Java Dynamic Web Project with nodejs, angular, karma, jasmine and maven

我有一个关于 WEB 应用程序(也兼容移动设备)的最佳实践文件夹结构的问题。我知道这是基于意见的问题。但是我没有在互联网上找到任何好的解决方案。所以我认为值得 post 放在这里。

因为我的项目是基于 Java 的后端。所以我从 Eclipse 创建了一个具有 Maven 功能的动态 Web 项目。

所以我的文件夹结构如下。

SampleProkject
|
|-----src
      |
      |---- main
             |----java
             |----resources
             |----webapp
      |
      |---- test
             |---java
             |---resources

我所有 Java 后端相关代码都转到 src/main/java

and All HTML, CSS and JS goes to src/main/webapp

同样,我对 java 的所有测试 类 都会转到 src/test/java

从 Java 的角度来看,一切都很好,但是当我尝试放置 angular 文件时出现问题。

因为我使用 npm 安装所有必需的 js 文件和框架。我把 package.json 放在我的网络应用程序中。所以 node_modules 也在我的 webapp 中创建。这是我不想要的,因为 node_modules 只是为了依赖,所以我不想通过 HTTP 公开它。所以我需要将我的 package.json 放在 webapp 之外。但是我不能在 index.html 文件中使用 node_modules 因为它不能访问 webapp 之外的文件。

我也不想将我的测试用例(Karma.conf.js 和 Jasmine 测试套件)放到 webapp 中。所以我所做的是将它们放在 src/test/javascript.

现在的问题是我必须从 src/test/javascript 和 webapp/index.html 文件访问我所有的 angular 代码和 node_modules。

请提出最佳方法。我认为几个 Java 开发人员正在使用 angular 和 nodejs UI,面临同样的问题。

注意

Actually I am looking for a good project structure with maven, java, nodejs and angular. Which also include Java and Angular unit testes as well.

有许多可用的 maven archtype 和 yeoman 生成器。但是如果想要使用 angular 作为前端和 spring/java 作为后端的良好基础应用程序,请查看 http://jhipster.github.io/