Jhipster maven(在dev概要文件下运行)如何在index.html中包含javascript文件?

Jhipster maven(在dev概要文件下运行)如何在index.html中包含javascript文件?,jhipster,Jhipster,从2.0版开始,我就没有使用过jhipster,目前我正在追赶4.0.6版。 当我试图通过命令行中的“/mvnw”(使用默认的devmaven配置文件)构建初始应用程序时,应用程序javascript文件不会添加到index.html中(因此,当我尝试时,浏览器中的页面会显示为空白)。 有人能给我解释一下通常导致maven(使用dev配置文件运行)将应用程序javascript文件包含到index.html中的正常事件链吗? 事先非常感谢您的帮助。 顺致敬意, kbjp我们的工作流程如下,纱线或

从2.0版开始,我就没有使用过jhipster,目前我正在追赶4.0.6版。 当我试图通过命令行中的“/mvnw”(使用默认的devmaven配置文件)构建初始应用程序时,应用程序javascript文件不会添加到index.html中(因此,当我尝试时,浏览器中的页面会显示为空白)。 有人能给我解释一下通常导致maven(使用dev配置文件运行)将应用程序javascript文件包含到index.html中的正常事件链吗? 事先非常感谢您的帮助。 顺致敬意,
kbjp

我们的工作流程如下,纱线或npm将根据选择使用

  • 生成应用程序时,会生成文件,并在最后触发安装任务
  • package.json中的
    postInstall
    脚本在
    warn install
    之后触发,此步骤调用
    webpack:build
    任务
  • 现在,您应该已生成所有文件,并将其编译到
    target
    build
    文件夹内的
    www
    文件夹中,该文件夹基于所选的构建工具
  • 现在运行
    mvnw
    gradlew
    将启动后端,并应可在localhost:8080上使用。这也应服务于根据上述步骤编译的前端
  • 现在,如果您开始进行更改,任何内容都不会反映为未编译,因此您需要在更改后手动运行
    webpack:build:dev
    ,或者让
    warn start
    使用实时重新加载运行
  • 您没有让postInstall脚本运行,或者删除了目标文件夹


    您还可以通过传递
    webpack
    配置文件(如
    mvnw-Pdev,webpack

    )来强制maven在启动时运行webpack任务,尽管我使用的是gradle,但我刚刚遇到了这个问题。也为我解决了一切。为了强制gradle在清理后运行
    webpackBuildDev
    任务(构建丢失的www目录),我添加了以下内容:

    processResources {
      doLast {
        if (!new File("$buildDir/www").exists()) webpackBuildDev.exec()
      }
    }
    

    大概这与前端maven插件实现了相同的功能。

    构建web资产(图像、html、typescript等)的单个命令是

    纱线网页包:构建


    此命令将把web资产放在需要的位置,即
    build/www

    Deppu的回答很好地涵盖了主要的概念方面。我想在Maven遇到类似问题的基础上再加上我的两分钱。我们知道默认的首选JHipster样式是使用两个端子,一个带有./mvnw,另一个带有纱线起始的端子

    然而,在我们的项目中,我们有时只关注一些后端工作,并在单个终端中运行./mvnw,希望前端始终在那里使用。尽管出于任何原因(eclipse或maven clean steps等),前端构建的人工制品可能并不总是出现在/target/www中

    因此,为了确保在单终端中运行./mvnw并始终构建前端,我更新了maven-dev配置文件,如下所示。基本上添加了调用Thread install的前端构建插件(该插件在不运行dev server的情况下作为脚本的一部分临时运行Thread run webpack:build步骤)和测试。这对我有用

    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-undertow</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                        <warSourceDirectory>src/main/webapp/</warSourceDirectory>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>${frontend-maven-plugin.version}</version>
                    <executions>
                        <execution>
                            <id>install node and yarn</id>
                            <goals>
                                <goal>install-node-and-yarn</goal>
                            </goals>
                            <configuration>
                                <nodeVersion>${node.version}</nodeVersion>
                                <yarnVersion>${yarn.version}</yarnVersion>
                            </configuration>
                        </execution>
                        <execution>
                            <id>yarn install</id>
                            <goals>
                                <goal>yarn</goal>
                            </goals>
                            <configuration>
                                <arguments>install</arguments>
                            </configuration>
                        </execution>
                        <execution>
                            <id>webpack build test</id>
                            <goals>
                                <goal>yarn</goal>
                            </goals>
                            <phase>test</phase>
                            <configuration>
                                <arguments>run webpack:test</arguments>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
        <properties>
            <!-- log configuration -->
            <logback.loglevel>DEBUG</logback.loglevel>
            <!-- default Spring profiles -->
            <spring.profiles.active>dev${profile.no-liquibase}</spring.profiles.active>
        </properties>
    </profile>
    
    
    发展
    真的
    org.springframework.boot
    弹簧靴起动器下拖
    org.springframework.boot
    弹簧靴开发工具
    真的
    org.apache.maven.plugins
    maven战争插件
    src/main/webapp/
    com.github.eirslett
    前端maven插件
    ${frontend maven plugin.version}
    安装节点和纱线
    安装节点和纱线
    ${node.version}
    ${warn.version}
    纱线安装
    纱线
    安装
    网页包构建测试
    纱线
    测试
    运行网页包:测试
    调试
    dev${profile.no liquibase}
    
    如果是angular 2,您还必须使用
    纱线开始运行webpack,请参阅。纱线构建由maven在使用prod Profile时运行伟大的答案Deepu,可能在docHi Deepu中…你搞定了!完全正确在最初的项目生成之后,我进行了一次“mvn干净安装”。话虽如此,为什么前端maven插件(“webpack build dev”)不是开发人员配置文件的一部分?我不确定是否有其他开发人员,但通常在我构建项目时,我会执行“mvn清理安装”(清除目标文件夹),而不仅仅是“mvn安装”。您是在哪里编写此代码的?你能再解释一下吗?这是最高级别的build.gradle。当且仅当
    www
    目录不存在时,它更新
    processResources
    任务(发生在编译/打包之前)以运行
    webpackBuildDev
    任务。从本质上说,“如果网页从来没有被构建过,那么就构建一次”。