2017-02-24 113 views
4

自2.0版以来,我没有使用jhipster,而且我目前正在使用版本#4.0.6进行追赶。 当我尝试从命令行通过“./mvnw”(默认dev maven profile)构建最初的应用程序时,应用程序javascript文件不会添加到index.html中(这样页面在我的浏览器,当我尝试http://localhost:8080)。 是否有人可以解释我通常导致maven(运行dev配置文件)的正常事件链,以将应用程序JavaScript文件包含到index.html中? 非常感谢您的帮助。 问候 kbjpmaven(在dev配置文件下运行)如何在index.html中包含JavaScript文件?

+0

如果角度为2,则还必须使用'yarn start'运行webpack,请参阅https://jhipster.github.io/development/#working-with-angular。使用prod配置文件时,maven使用maven运行 –

回答

8

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

  1. 当您生成文件生成一个应用程序,并在年底会触发yarn install任务
  2. 使用在package.jsonpostInstall脚本触发yarn install后,此步骤调用webpack:build任务
  3. 现在你应该已经生成的所有文件,并编译成内012 www文件夹基于构建工具或build文件夹选择
  4. 现在运行mvnwgradlew将推出后端,并应在本地主机可用:8080,这也应该成为从上面所汇编的前端步骤
  5. 现在,如果你开始进行更改什么都不会反映其未编译,所以你需要或者更改后手动运行webpack:build:dev或有yarn start活重载运行

要么你没有让后脚本运行或删除的目标文件夹

您还可以强制Maven来运行的WebPack任务的,经过webpack轮廓像mvnw -Pdev,webpack

+0

很好的答案Deepu,可以在doc –

+0

嗨Deepu ...你钉了它!在最初的项目生成后,我做了一个“mvn clean install”。 这就是说,为什么开发者配置文件的前端-maven-plugin(“webpack build dev”)部分不是? 我不确定其他开发者,但通常当我建立我的项目时,我做了一个“mvn clean install”(它清除了目标文件夹)而不是“mvn install”。 – user2038596

+0

@GaëlMarziou我将它添加到文档 – Deepu

1

我只是碰到了这个问题,虽然我使用gradle这个开始时间。 Deepu's answer也为我解决了一切。要强制gradle这个运行webpackBuildDev任务(它建立在缺少www目录)干净后,我已经添加了这一点:

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

这大概达到同样的事情,前端 - Maven的插件。

+0

你在哪里写这个代码?你能解释更多吗? – Mayurb

+0

这是在顶级build.gradle。当且仅当'www'目录不存在时,它才更新'processResources'任务(在编译/打包之前发生)来运行'webpackBuildDev'任务。 Essentialy,“如果webpack从未被构建过,那么就构建一次”。 –

0

单一命令来构建web资源(图片,HTML,打字稿等)

yarn webpack:build

该命令将会把网络资产,在那里他们需要,即build/www

相关问题