Angular2打包遇到的问题与解决方法(二)

http://www.jianshu.com/p/8943ff86349a 之前这篇是说了路径的问题
这次是说准备部署时的打包
首先还是基于这个
ng build --base-href /test/dist/
但这样打包出来的代码非常大,所以需要生产环境的打包
ng build --prod --base-href /test/dist/ --save
或者
ng build --prod --no-extract-license --base-href /test/dist/ --save
不过这样打包可能会报错,这是因为生产环境的打包检查代码会按照严格模式,一些public写成private的问题开发时不会报错,但生产环境下打包就会报错。还有类似item.a.b这种如果a是后来才创建的,也会报错,改成item.a['b']这种方式就可以解决。这些报错我的解决方式就是一个个对着去改,不知道还有没有什么更好的方法。
还有如果想用cdn的方式引用外部代码,可以直接在index.html的头部写

  

另外如果想在ts文件里使用jq的$符号或者类似的,需要在typings.d.ts文件里声明

declare var module: NodeModule;
interface NodeModule {
  id: string;
}
declare var $: any;
declare var UIkit: any;
declare var echarts:any;

你可能感兴趣的:(Angular2打包遇到的问题与解决方法(二))