想要把,專案中所有頁面通用的資源,例如:reset.css,jq-ui.css,jq.js等,全部打包在一個js裡面,可以叫初始化js,以後新頁面就可以只引用這個js即可。
index.html
<head>
<link href = "css/reset.css"> //所有页面通用
<link href = "css/jq-ui.css"> //所有页面通用
<link href = "css/index.css"> //单独这个页面的css
<head>
<body>
//页面代码……
//页面代码……
</body>
<srcipt src="js/jq.js"></script> //所有页面通用
<srcipt src="js/index.js"></script> //单独这个页面的js
<head>
<link href = "css/index.css"> //只保留单独这个页面的css
<head>
<body>
//页面代码……
//页面代码……
</body>
<srcipt src="js/init.js"></script> //想要封装好通用init的js,以后可以通用
<srcipt src="js/index.js"></script> //只保留单独这个页面的js
(function(){
var reset_css = document.createElement('link'),
jq_js = document.createElement('script');
//加载通用的css
reset_css.href = "css/reset.css";
//加载通用的js
jq_js.src = "js/jq.js";
}())
頁面資源載入順序問題
其中reset.css必須在最開始載入。 ----實際情況,DOM渲染完了才載入的,沒用了
jq.js,因為所有頁面的js都依賴jq,必須jq先載入完後,再載入頁面的js。 ----實際情況,頁面js先載入了,報錯了。
#如果想要實現上述想要的結果,該怎麼寫,能保證請求外部src,href資源按照想要的順序載入呢?就是依賴的必須css,js必須在頁面的js執行之前,載入完後再執行。
有查過檔案監聽事件、onload,但是我頁面中通用的東西有點多,怎麼樣寫保證全部初始化資源加載完後再去加載呢?
common_file1.onload = function(){
common_file2.onload = function(){
common_file3.onload = function(){
return
}
return
}
//再去加载每个页面中的单独需要资源吗? 这样写感觉好傻 /(ㄒoㄒ)/~~
}
不知道你打包是採用gulp還是webpack, 可以試著引入gulp-order類似的插件
我大概記得就是按照順序打包。就好了。