gpt4 book ai didi

angular - 错误 : In this configuration Angular requires Zone. js

转载 作者:太空狗 更新时间:2023-10-29 17:51:30 24 4
gpt4 key购买 nike

我正在尝试运行一个在 Angular 5 内部使用的 Grails 2.3.9 应用程序。为此,我创建了一个新的 Grails 项目和一个新的带有 angular-cli 的 Angular 项目(ng新应用)。在此之后我做了这些步骤。

  1. 构建 Angular 项目以获取资源包:ng build --prod

  2. 复制已创建的 dist 文件夹的文件并将其粘贴到 web-app/js/lib

  3. 中的 Grails 项目中
  4. 在 grails 中创建一个新的 Controller 和 View 来为 Angular 提供索引

  5. index.gsp 中,我放入了在 Angular 构建中创建的 index.html 的内容,并将脚本的 src 替换为 Grails 创建指向 js/lib/... 的链接语句使 Grails 能够正确地提供这些文件

当我运行我的 Grails 应用程序并转到指定的地址以运行 angular 时,我得到一个空白页面,并且在控制台中出现此错误:

Error: In this configuration Angular requires Zone.js

我尝试复制 Apache 服务器中的 dist 文件夹,一切正常,因此,我认为问题与 ng build --prod 之后生成的文件无关。

最佳答案

好的,我明白了,问题是我在 index.gsp 中引用 angular js 资源的方式:

方法不对

索引.gsp

<html>
<head></head>
<body>
<app-root></app-root>
<script src="${createLink(uri:'js/lib/inline.bundle.js')}"</script>
<script src="${createLink(uri:'js/lib/polyfills.bundle.js')}"</script>
<script src="${createLink(uri:'js/lib/main.bundle.js')}"</script>
</body>
</html>

正确的方法

应用资源.groovy

modules = {
...
angular{
resource url:"js/lib/styles.bundle.css", nominify:true, disposition: 'head'
resource url:"js/lib/inline.bundle.js", nominify:true
resource url:"js/lib/polyfills.bundle.js", nominify:true
resource url:"js/lib/main.bundle.js", nominify:true
}
}

索引.gsp

<html>
<head>
...
<r:require modules="angular"/>
<r:layoutResources/>
</head>
<body>
<app-root></app-root>
<r:layoutResources/>
</body>
</html>

找到了在 grails 2 中添加资源的正确方法 here

关于angular - 错误 : In this configuration Angular requires Zone. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48568179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com