【问题标题】:ng build --prod failed after ag-grid v 22.1.1 upgradeng build --prod 在 ag-grid v 22.1.1 升级后失败
【发布时间】:2020-05-23 06:15:40
【问题描述】:

我从 版本 18 开始使用它,目前是 20.0.0

我正在升级到其最新版本 - 22.1.1。

解决因重大更改而导致的警告/错误后,一切(包括“ng serve”)都可以正常工作。

但是,当我尝试在 prod 模式下构建 Angular 应用程序时,它会失败。

./app/app.module.ngfactory.js 中的错误
找不到模块:错误:无法解析 'C:\project\src\app' 中的 'ag-grid-community/dist/lib/eventService' 错误在 ./main.ts
未找到模块:错误:无法解析“C:\project\src”中的“ag-grid-enterprise/main”

下面是我得到的控制台日志。有人可以帮忙吗?

PS C:\projectDirectory> npm run build:prod

> project@0.0.1 build:prod <C:\projectDirectory>
> node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --prod --base-href ./

Browserslist: caniuse-lite is outdated. Please run next command `npm update`

Date: 2020-02-06T14:34:51.950Z
Hash: f5504506298058ba661b
Time: 303119ms
chunk {0} runtime.0feced4b926ef4569891.js (runtime) 2.35 kB [entry] [rendered]
chunk {1} 1.ff56049eefdf00546e5b.js () 20.1 kB [rendered]
chunk {2} common.778967e60acae82560b8.js (common) 1.59 kB [rendered]
chunk {3} 3.c9c6f4b4ee31655957c5.js () 68.6 kB [rendered]
chunk {4} 4.cd47c0ed33945d8a2cd1.js () 65.8 kB [rendered]
chunk {5} main.9f72bd0e6a2ce7cabf09.js (main) 1.13 MB [initial] [rendered]
chunk {6} polyfills.8c9e800099caebde3f97.js (polyfills) 151 kB [initial] [rendered]
chunk {7} polyfills-es5.1ecef396b36e47074889.js (polyfills-es5) 68.1 kB [initial] [rendered]
chunk {8} styles.40f4753a24be96f0632d.css (styles) 353 kB [initial] [rendered]
chunk {9} vendor.62a5b62a3c39ede2ff2f.js (vendor) 6.34 MB [initial] [rendered]
chunk {10} 10.36d9b310fedf245aa212.js () 123 kB [rendered]
chunk {11} 11.7f7517540c764751bd2c.js () 1.62 MB [rendered]
chunk {12} 12.79a7ea4d472beb37c285.js () 88.8 kB [rendered]
chunk {13} 13.4c9f9392997233b09d52.js () 318 kB [rendered]
chunk {14} 14.62996cef37bc77009502.js () 146 kB [rendered]
chunk {scripts} scripts.8af46854aabf37ded6dd.js (scripts) 125 kB [entry] [rendered]
ERROR in ./app/app.module.ngfactory.js
Module not found: Error: Can't resolve 'ag-grid-community/dist/lib/eventService' in 'C:\project\src\app'ERROR in ./main.ts
Module not found: Error: Can't resolve 'ag-grid-enterprise/main' in 'C:\project\src'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! project@0.0.1 build:prod: `node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --prod --base-href ./`

【问题讨论】:

    标签: ag-grid angular npm ag-grid ag-grid-angular ag-grid-ng2


    【解决方案1】:

    您似乎错过了migration guide 的一些内容。

    是的,这并不明显,但您需要为该更新更改软件包。

    长话短说:你必须使用从 22.0.0 开始的新包

    错了:

    "ag-grid-angular": "22.1.1",
    "ag-grid-community": "22.1.1",
    "ag-grid-enterprise": "22.1.1"
    

    正确:

    "@ag-grid-community/all-modules": "22.1.1",
    "@ag-grid-community/angular": "22.1.1",
    "@ag-grid-community/core": "22.1.1",
    "@ag-grid-enterprise/all-modules": "22.1.2"
    

    【讨论】:

    • 嘿伙计!很高兴看到你的回答!雅似乎我不知道迁移指南.. 让我试一试并检查。谢谢!
    • 因为我也遇到过这个问题,但就我而言,除了很少的事情外,一切正常,探索这个问题是一场噩梦
    • 在那之后开始出现编译错误。安装后,我应该在哪里import '@ag-grid-enterprise/server-server-side-row-model'
    • 您是否已导入所有模块并将它们全部包含在网格本身中?比如[modules]="modules"public modules: any = AllModules;import {AllModules} from '@ag-grid-enterprise/all-modules';
    • 哦,你的意思是说我必须 ATTACH AllModules 到网格本身??这太疯狂了! :O
    【解决方案2】:

    在与我的一位同事讨论过这个问题后,我认为实际的包引用不正确。您仍然可以使用旧方法,只是不利用模块功能。

    例如,我认为您的特定错误的根本原因是“/main”引用。尝试从

    更改导入
    'ag-grid-community/dist/lib/eventService'
    'ag-grid-enterprise/main'
    

    'ag-grid-community'
    'ag-grid-enterprise'
    

    不再保证特定路径。

    【讨论】:

      【解决方案3】:

      他们让我们将ag-grid 重命名为ag-grid-community,所以现在你需要运行

      npm install --save ag-grid-community ag-grid-angular
      

      【讨论】:

      • 在版本 19 或 20 期间已经完成。问题是在从 20.0.0 过渡到 22.1.1 期间
      猜你喜欢
      • 2017-08-19
      • 2020-04-09
      • 2021-06-29
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 2019-12-29
      • 1970-01-01
      相关资源
      最近更新 更多