请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

ng serve没问题,ng build发生错误

在本地ng serve没问题,可以正常运行。
ng build --prod 确发生错误。
请帮我确认下错误原因。
谢谢!图片描述

正在回答 回答被采纳积分+3

3回答

提问者 weixin_慕侠8488025 2019-10-22 22:57:07

https://img1.sycdn.imooc.com/szimg/5daf163e0991b98419201030.jpg1、let menu of menus

      menus 时数组(@Input() menus: TopMenu[] =[];)。menu时成员变量,这里时循环用的。menu并没有什么问题啊。

2、ng serve 能正常启动,无错误。

 

PS G:\A0050_soruce\050A0001_MyProject\002_angular8\selfLearning\pingduoduoTest> ng serve

10% building 3/3 modules 0 activei 「wds」: Project is running at http://localhost:4200/webpack-dev-server/

i 「wds」: webpack output is served from /   

i 「wds」: 404s will fallback to //index.html


chunk {main} main.js, main.js.map (main) 88.3 kB [initial] [rendered]

chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 264 kB [initial] [rendered]

chunk {runtime} runtime.js, runtime.js.map (runtime) 6.15 kB [entry] [rendered]

chunk {styles} styles.js, styles.js.map (styles) 9.93 kB [initial] [rendered]

chunk {vendor} vendor.js, vendor.js.map (vendor) 4.35 MB [initial] [rendered]

Date: 2019-10-22T14:51:42.815Z - Hash: 135f5533a32e02e16fae - Time: 12152ms

** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **

i 「wdm」: Compiled successfully.

 

3、ng build 能正常编译,无错误。

PS G:\A0050_soruce\050A0001_MyProject\002_angular8\selfLearning\pingduoduoTest> ng build


chunk {main} main-es2015.js, main-es2015.js.map (main) 86.9 kB [initial] [rendered]

chunk {polyfills} polyfills-es2015.js, polyfills-es2015.js.map (polyfills) 264 kB [initial] [rendered]

chunk {polyfills-es5} polyfills-es5-es2015.js, polyfills-es5-es2015.js.map (polyfills-es5) 617 kB [initial] [rendered]

chunk {runtime} runtime-es2015.js, runtime-es2015.js.map (runtime) 6.16 kB [entry] [rendered]

chunk {styles} styles-es2015.js, styles-es2015.js.map (styles) 9.93 kB [initial] [rendered]

chunk {vendor} vendor-es2015.js, vendor-es2015.js.map (vendor) 4.01 MB [initial] [rendered]

Date: 2019-10-22T14:54:37.570Z - Hash: d82d77ad7b8c4a8cc471 - Time: 9598ms

Generating ES5 bundles for differential loading...

ES5 bundle generation complete.

4、ng build --prod 时发生错误。

     要是变量有错误,前边(ng serve, ng build)就应该出错啊。

 还是有其他原因导致错误的呢?请确认,谢谢

1 回复 有任何疑惑可以回复我~
  • 是 trackBy 的问题,编译器的提示是准确的, trackby 是要一个函数的,你的写法不对,模版中写函数名
    
    
    ```
    <li
        *ngFor="
          let menu of menus;
          let i = index;
          let even = even;
          let odd = odd;
          trackBy: trackByMenu
        "
      >
    ```
    
    类中写,这个函数接受 index 和 item 为参数
    
    ```
    trackByMenu(index: number, menu: TopMenu) {
        return menu.title;
      }
    ```
    
    另外,ng serve 本身就是依赖 ng build 的,这种情况下语法的检查是比较松的,尤其是模版中的语法,只有 ng build -prod 才会严格检查
    回复 有任何疑惑可以回复我~ 2019-10-22 23:35:20
  • 提问者 weixin_慕侠8488025 #2
    按照你讲的方法,确实可以解决此问题。ng build --prod也不再报错。
    
    我是按你的2-5视频 11:55(11分55秒左右开始)  的讲解视频做的,也许是你这里提一下就带带过了,讲漏了。(如果是这样大家都会有这个问题)
    
    也许是你在后面哪里补讲了,我看漏了,没改程序。
    
    后面我有时间再来确认此问题。
    
    谢谢调查此问题。
    回复 有任何疑惑可以回复我~ 2019-10-23 22:42:11
提问者 weixin_慕侠8488025 2019-10-23 22:39:50

 见下面

0 回复 有任何疑惑可以回复我~
接灰的电子产品 2019-10-22 21:51:36

提示的错误信息已经很清楚了,menu 这个成员变量不存在,是不是拼写错了,应该是 menus 吧

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信