没有找到angularjs HTML模板的Grails 3 run-app(404)

时间:2017-11-22 20:07:42

标签: angularjs grails

我们有使用AngularJS的Grails 2.4应用程序。我们一直在使用带有Grails 2.4的asset-pipeline插件来处理位于Grails应用程序的assets子目录中的angularjs文件(* .js,* .html角度模板,* .css)。我将此应用程序转换为Grails 3.3.1。它还使用资产管道插件,版本2.14.2。 " com.bertramlabs.plugins:资产流水线的grails:2.14.2" 。

当我使用run-app启动Grails 3应用程序时,我无法使角度工作,我一直在浏览器控制台中出错:

angular.js?compile=false:14110 Error: [$compile:tpload] Failed to load template: /DunbarreComm/assets/app/controls/controls.tpl.html (HTTP status: undefined undefined)

DunbarreComm是我的应用程序根文件夹。

如果我构建war文件并在Tomcat容器上部署,它似乎工作正常,它会找到有角度的HTML模板。

如何让Grails应用程序查找位于assets文件夹的各个子文件夹中的* .html模板?

请注意,我们不使用" com.craigburke.angular:angular-template-asset-pipeline:2.3.0"插入。我试过这个插件,我得到了不同的错误。我们的应用程序适用于带有资产管道插件的Grails 2.3,没有" angular-template-asset-pipeline"因此我认为它应该在没有这个插件的Grails 3中正常工作,只需使用asset-pipeline插件。

我确实遵循Grails 2.4到Grails 3的非常仔细的升级步骤。

1 个答案:

答案 0 :(得分:0)

我想到了我的问题。我在application.yml中的contextPath变量中拼错了应用程序名称。一旦我将其修复为正确的值,它就解决了问题。以下是我对contextPath的介绍:

server: contextPath: /DunbarreComm

DunbarreComm是我的应用程序名称。 显然,在构建应用程序并将其部署为war文件时,不会使用此变量,仅在使用run-app命令grails命令运行应用程序时才使用此变量。现在,当我使用run-app命令和部署war文件时,我的应用程序运行正常。