web-dev-qa-db-ja.com

ビルド中のTerserからのランタイムエラー--prod

私はすべてを更新しましたAngularと私は今(4x)以下のエラーが発生しています
"ビルド-製品"

--prodを削除してもエラーは発生しません

このアプリには実際のコードはありません。これは単なるスターターシェルです。

何を調べるべきかについての提案はありますか?

ERROR in runtime.82c6613acef8f7246fe8.js from Terser
TypeError: Cannot read property 'minify' of undefined
    at minify (/Users/puser/Dropbox/AngularApps/GenesisFYI-v06/node_modules/terser-webpack-plugin/dist/minify.js:175:23)
    at module.exports (/Users/puser/Dropbox/AngularApps/GenesisFYI-v06/node_modules/terser-webpack-plugin/dist/worker.js:13:40)
    at handle (/Users/puser/Dropbox/AngularApps/GenesisFYI-v06/node_modules/worker-farm/lib/child/index.js:44:8)
    at process.<anonymous> (/Users/puser/Dropbox/AngularApps/GenesisFYI-v06/node_modules/worker-farm/lib/child/index.js:51:3)
    at process.emit (events.js:197:13)
    at emit (internal/child_process.js:828:12)
    at processTicksAndRejections (internal/process/next_tick.js:76:17)

現在のバージョン

Angular CLI: 7.3.0  
Node: 11.8.0  
OS: darwin x64  
Angular: 7.2.3  
... animations, common, compiler, compiler-cli, core, forms  
... http, language-service, platform-browser  
... platform-browser-dynamic, router, service-worker  

Package                           Version  
-----------------------------------------------------------  
@angular-devkit/architect         0.13.0  
@angular-devkit/build-angular     0.13.0  
@angular-devkit/build-optimizer   0.13.0  
@angular-devkit/build-webpack     0.13.0  
@angular-devkit/core              0.6.8  
@angular-devkit/schematics        0.6.8  
@angular/cli                      7.3.0  
@angular/pwa                      0.6.8  
@ngtools/webpack                  7.3.0  
@schematics/angular               0.6.8  
@schematics/update                0.13.0  
rxjs                              6.4.0  
TypeScript                        3.2.4  
webpack                           4.29.0  
22
Mathias

最近リリースされたTerserのバージョン3.16に問題があるようです here's Terserと Terser as a Webpack plugin の関連する問題。

このVueJSの問題 では、バージョン3.14.1にダウングレードすることを推奨していますpackage.jsonの行を探して実行できます。 "terser"を含み、次のように固定します。

    "terser": "3.14.1",
23
Spak

Pietro Saccardiが言ったように、今のところ、package.jsonでTerserのバージョンを3.14.1に修正する必要があります:"terser": "3.14.1"

バージョンに^を使用しないでください。使用すると、3.16にアップグレードされます。

10
Daniel

Angular prod buildの場合、これで修正されました:

npm install --save-exact --save [email protected]
3
JieLi

angular製品ビルドの問題を解決するには、terserおよびterser-webpack-pluginのバージョンをに修正する必要があります3.14.1 package-lock.json。以下は私の見た目です。

  "terser": {
  "version": "3.14.1",
  "resolved": "https://registry.npmjs.org/terser/-/terser-3.14.1.tgz",
  "integrity": "sha512-NSo3E99QDbYSMeJaEk9YW2lTg3qS9V0aKGlb+PlOrei1X02r1wSBHCNX/O+yeTRFSWPKPIGj6MqvvdqV4rnVGw==",
  "dev": true,
  "requires": {
    "commander": "2.17.1",
    "source-map": "0.6.1",
    "source-map-support": "0.5.9"
  },
  "dependencies": {
    "source-map": {
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
      "dev": true
    }
  }
},
"terser-webpack-plugin": {
  "version": "1.1.0",
  "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz",
  "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==",
  "dev": true,
  "requires": {
    "cacache": "11.3.2",
    "find-cache-dir": "2.0.0",
    "schema-utils": "1.0.0",
    "serialize-javascript": "1.6.1",
    "source-map": "0.6.1",
    "terser": "3.14.1",
    "webpack-sources": "1.3.0",
    "worker-farm": "1.6.0"
  },
  "dependencies": {
    "cacache": {
      "version": "11.3.2",
      "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
      "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
      "dev": true,
      "requires": {
        "bluebird": "3.5.3",
        "chownr": "1.1.1",
        "figgy-pudding": "3.5.1",
        "glob": "7.1.3",
        "graceful-fs": "4.1.15",
        "lru-cache": "5.1.1",
        "mississippi": "3.0.0",
        "mkdirp": "0.5.1",
        "move-concurrently": "1.0.1",
        "promise-inflight": "1.0.1",
        "rimraf": "2.6.3",
        "ssri": "6.0.1",
        "unique-filename": "1.1.1",
        "y18n": "4.0.0"
      }
    },
    "find-cache-dir": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz",
      "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==",
      "dev": true,
      "requires": {
        "commondir": "1.0.1",
        "make-dir": "1.3.0",
        "pkg-dir": "3.0.0"
      }
    },
    "find-up": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
      "dev": true,
      "requires": {
        "locate-path": "3.0.0"
      }
    },
    "locate-path": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
      "dev": true,
      "requires": {
        "p-locate": "3.0.0",
        "path-exists": "3.0.0"
      }
    },
    "lru-cache": {
      "version": "5.1.1",
      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
      "dev": true,
      "requires": {
        "yallist": "3.0.3"
      }
    },
    "mississippi": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
      "dev": true,
      "requires": {
        "concat-stream": "1.6.2",
        "duplexify": "3.6.1",
        "end-of-stream": "1.4.1",
        "flush-write-stream": "1.0.3",
        "from2": "2.3.0",
        "parallel-transform": "1.1.0",
        "pump": "3.0.0",
        "pumpify": "1.5.1",
        "stream-each": "1.2.3",
        "through2": "2.0.5"
      }
    },
    "p-limit": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
      "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
      "dev": true,
      "requires": {
        "p-try": "2.0.0"
      }
    },
    "p-locate": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
      "dev": true,
      "requires": {
        "p-limit": "2.1.0"
      }
    },
    "p-try": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
      "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
      "dev": true
    },
    "pkg-dir": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
      "dev": true,
      "requires": {
        "find-up": "3.0.0"
      }
    },
    "pump": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
      "dev": true,
      "requires": {
        "end-of-stream": "1.4.1",
        "once": "1.4.0"
      }
    },
    "source-map": {
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
      "dev": true
    },
    "ssri": {
      "version": "6.0.1",
      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
      "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
      "dev": true,
      "requires": {
        "figgy-pudding": "3.5.1"
      }
    },
    "yallist": {
      "version": "3.0.3",
      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
      "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
      "dev": true
    }
  }
}
1
sanjeev

糸とAngular 7+

  1. Terser v3.14.1をpackage.jsonに追加

    yarn add [email protected]

  2. 削除する yarn.lockファイル

  3. 再び糸を実行する

    yarn

  4. プロジェクトを構築する

    ng build --prod

1
Evgeny Lebedev

上記の答えは正しいです。 Terserプラグインは、バージョン3.14.1にダウングレードする必要があります。しかし、これを行う手順は次のとおりです。

  1. Package-lock.jsonファイルを開きます。
  2. Terserのバージョンを3.14.1に置き換えます。変更する場所については この回答 を参照してください。
  3. cmdを開き、コマンドnpm install [email protected]を実行します。
  4. これで、本番ビルド用にng build --prodを実行できます。
1

Terser dev依存関係のみを変更しても機能しない場合があります。

開発者の依存関係に「terser」:「3.14.1」を追加した後。エラーは次のように発生します。scripts.56c939869e47ec340102.jsのTerser予期しないトークンからのエラー:punc(:) [scripts.56c939869e47ec340102.js:10369,11]

私にとって、含まれているスクリプトからマップファイルを削除すると、エラーが解決しました。それもあなたを助けるかもしれません。

0
Prasanth Aitha