http://www.lxweimin.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;