zoukankan      html  css  js  c++  java
  • Angular CLI 升级 6.0 之后遇到的问题

    Angular CLI 1.7.4 在使用 ng build --prod 会构建失败,而 ng build 是正常的。比较好的解决办法是使用 ng build --prod --extract-licenses=false 或者 ng build --prod --no-extract-licenses

    最近将 Angular CLI 升级到 6.X 之后,直接 ng build 会报以下错误,ng serve 也是如此。

    95% emitting LicenseWebpackPlugin(node:6252) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'D:XprojectAngular-examplesangular-test
    ode_modules\_@angular_common@6.0.2@@angularpackage.json'
        at Object.fs.openSync (fs.js:646:18)
        at Object.fs.readFileSync (fs.js:551:33)
        at LicenseExtractor.readPackageJson (D:XprojectAngular-examplesangular-test
    ode_modules\_license-webpack-plugin@1.3.1@license-webpack-plugindistLicenseExtractor.js:126:23)
        at LicenseExtractor.parsePackage (D:XprojectAngular-examplesangular-test
    ode_modules\_license-webpack-plugin@1.3.1@license-webpack-plugindistLicenseExtractor.js:23:32)
        at ModuleProcessor.processPackage (D:XprojectAngular-examplesangular-test
    ode_modules\_license-webpack-plugin@1.3.1@license-webpack-plugindistModuleProcessor.js:39:46)
        at ModuleProcessor.processFile (D:XprojectAngular-examplesangular-test
    ode_modules\_license-webpack-plugin@1.3.1@license-webpack-plugindistModuleProcessor.js:36:21)
        at fileCallback (D:XprojectAngular-examplesangular-test
    ode_modules\_license-webpack-plugin@1.3.1@license-webpack-plugindistLicenseWebpackPlugin.js:101:61)
        at moduleCallback (D:XprojectAngular-examplesangular-test
    ode_modules\_license-webpack-plugin@1.3.1@license-webpack-plugindistLicenseWebpackPlugin.js:108:21)
        at D:XprojectAngular-examplesangular-test
    ode_modules\_license-webpack-plugin@1.3.1@license-webpack-plugindistLicenseWebpackPlugin.js:120:29
        at Array.forEach (<anonymous>)
        at emitCallback (D:XprojectAngular-examplesangular-test
    ode_modules\_license-webpack-plugin@1.3.1@license-webpack-plugindistLicenseWebpackPlugin.js:86:32)
        at _err0 (eval at create (D:XprojectAngular-examplesangular-test
    ode_modules\_tapable@1.0.0@tapablelibHookCodeFactory.js:24:12), <anonymous>:19:1)
        at callback (D:XprojectAngular-examplesangular-test
    ode_modules\_copy-webpack-plugin@4.5.1@copy-webpack-plugindistindex.js:77:17)
        at D:XprojectAngular-examplesangular-test
    ode_modules\_copy-webpack-plugin@4.5.1@copy-webpack-plugindistindex.js:118:24
        at <anonymous>
    (node:6252) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
    (node:6252) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
    
    

    但是使用 ng build --prod 是正常的。同样地,使用 ng build --extract-licenses=false 也可以解决问题。

    简单看一下,问题是由 license-webpack-plugin 插件引起的。这款插件用于输出第三方插件的许可协议。老外比较重视版权吧。但是不知道为什么总是在这个地方出问题。

    --- 2018.7.13 ---

    新增解决方法:今天突然发现使用 yarn 安装依赖则没有问题。使用 npm 安装依赖之后,由于某些 angular 插件的文件夹没有 package.json(在下一层文件夹),所以 license-webpack-plugin 在抽取许可协议时会出错,但是使用 yarn 安装依赖时则不会出现这类文件夹,所以运行正常。

  • 相关阅读:
    为了实现一个函数 clone ,可以对 JavaScript 中 5 种主要的数据类型 (包括 Number、 St「ing 、 Object、 A「「ay、 Boolean )进行值(深)复制。
    说说你对语义化的理解
    vue 根据字符串的长度控制显示的字数超出显示省略号
    加密号码将中间四位改为*
    前端项目部署错误:npm ERR! notarget No matching version found for event-stream@3.3.6
    npm报错:A complete log of this run can be fund in:........
    nrm插件的安装插件和使用
    Vue过渡搭配Velocity.js动画的基本使用
    Asp.Net Core&钉钉开发系列
    KnockoutJS知识规整目录
  • 原文地址:https://www.cnblogs.com/nzbin/p/9050537.html
Copyright © 2011-2022 走看看