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的头部写
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
另外如果想在ts文件里使用jq的$符号或者类似的,需要在typings.d.ts文件里声明
declare var module: NodeModule;
interface NodeModule {
id: string;
}
declare var $: any;
declare var UIkit: any;
declare var echarts:any;