Angular是一个开箱即用的框架没问题,但同时此框架所依赖的包在不停地变换中,虽然此框架的容错性很好,然而某些依赖包的版本兼容问题仍是会不按期出现。这不,2018年1月14日忽然有人告诉出现问题了,如图所示:css
怎么办呢?解决呗node
出现此问题是在服务器上首先暴露出来的,其次你们从SVN上全新down代码,从新下载依赖包会出现此问题,以前本地一直运行的是没有问题的。从差别入手,找出问题根源。git
解决思路github
思路一:根据SVN提交记录,肯定组内两名成员作了修改,进行提交,经过沟通和他们的确认,问题貌似不在他们那里。npm
思路二:根据错误信息提示,依赖包css-loader和postcss-loader版本问题,经过比对可运行依赖包与最新下载无差异。json
思路三:根据错误信息提示,看到是CSS的问题,试图根据提示信息,将css文件引入一些相关项先删除,错误依旧存在服务器
思路四:本身不行,上网搜索,如今国内网站搜索,根据错误比对尝试了几种方案,错误依旧在,真是不离不弃啊。框架
思路五:进军国外网站,毕竟Angualr目前的应用态势要普遍于国内,经过搜索,第一种方案尝试,失败,第二种方案没想到就迎来了春天,问题解决了。post
巨人的肩膀:https://github.com/angular/angular-cli/issues/8781#issuecomment-355226128性能
结合实际状况,如下是问题解决方案:
脚手架@angular/cli版本太高问题,脚手架1.6.4版本应用在ng4的项目上会有问题,自己@angular/cli进军1.6的版本后,应该是与ng5项目相匹配的,原先为了提供性能,ng4的项目使用ng5的脚手架,继而可能会暴露一些问题。
1.项目负责人将package.json中@angluar/cli的引入去掉。
2.组员从SVN上拉取最新代码后,依次执行:
<1>cnpm install
<2>cnpm install primeng@4.2.2
<3>cnpm install @angular/cli@1.6.3
至此,问题迎刃而解。
若是你本地已经执行了cnpm install,这个命令,解决此问题只需执行为:
cnpm i @angular/cli@1.6.3 --save-dev
如下步骤一样能够解决问题,原理是同样的,只不过这是以前按照本身的思路解决问题的步骤,你们直接执行上一句命令即刻,若是未解决问题,也可按照以下问题方式解决。
<1>rimraf node_modules,若是本地没有rimraf,请在本身电脑安装:cnpm install rimraf -g
<2>而后自行将package.json包里的@angluar/cli引入删除
<3>cnpm install
<4>cnpm install primeng@4.2.2
<5>cnpm install @angular/cli@1.6.3
项目能够运行了: