Angular Prod构建缺少lodash

时间:2019-03-29 16:11:57

标签: angular angular-cli lodash

我的应用几乎在所有地方都选择性地使用lodash。示例:

import { keyBy as _keyBy, orderBy as _orderBy, map as _map, sample as _sample } from 'lodash';

一切都在发展中发挥了很大的作用。但是,在生产中会因以下错误而中断:

  

错误ReferenceError:未定义lodash_1

这里是我的生产版本配置:

"production": {
  "optimization": true,
  "outputHashing": "all",
  "sourceMap": false,
  "extractCss": true,
  "namedChunks": false,
  "aot": true,
  "extractLicenses": false,
  "vendorChunk": true,
  "buildOptimizer": true,
  "fileReplacements": [
    {
      "replace": "src/environments/environment.ts",
      "with": "src/environments/environment.prod.ts"
    }
  ]
}

我不确定为什么会失败。我不知道其他少数第三方库是否会因为应用程序在加载时崩溃而失败。

修改 我的依赖项中包含lodash,而不是devDependencies。 我懒于加载模块。当我不进行延迟加载时,我从来没有遇到过这个问题。

我刚刚关闭了AOT,并且构建正常。

更新后的问题:AOT为什么/如何中断第三方进口,即lodash?

1 个答案:

答案 0 :(得分:0)

通常是缺少类型的指示,因此请尝试安装“ @ types / lodash”

将其添加到您的package.json

"@types/lodash": "^4.14.121",

npm install @types/lodash --save-dev