3 回答

TA貢獻1813條經驗 獲得超2個贊
確實,每次打包從入口開始,會parse所有的依賴,多的時候竟然打包一次要2秒多,簡直不能忍。然而,有幾個解決方案,最有效的,是使用weboack 的watch,只有文件md5變化時,才會重新打包,并且只parse有變化的文件,其他沒變化的文件是使用緩存

TA貢獻1840條經驗 獲得超5個贊
全局使用Axios
首先,在自己建的公用方法的文件中new一個新的HttpUtil.js文件。以下為HttpUtil.js的內容:
var axios = require('axios')// 配置項目根如路徑var root = 'http://localhost:8090/manage'// axios請求function httpApi (method, url, params) { return new Promise((resolve, reject) => { axios({ method: method, url: url, data: method === 'POST' || method === 'PUT' ? params : null, params: method === 'GET' || method === 'DELETE' ? params : null, baseURL: root, withCredentials: false }).then(
(response) => {
resolve(response)
}
).catch(
(error) => {
reject(error)
}
)
})
}// 返回在vue模板中的調用接口export default { get: function (url, params) { return httpApi('GET', url, params)
}, post: function (url, params) { return httpApi('POST', url, params)
}, put: function (url, params) { return httpApi('PUT', url, params)
}, delete: function (url, params) { return httpApi('DELETE', url, params)
}
}

TA貢獻1865條經驗 獲得超7個贊
確實,每次打包從入口開始,會parse所有的依賴,多的時候竟然打包一次要2秒多,簡直不能忍。然而,有幾個解決方案,最有效的,是使用weboack
的watch,只有文件md5變化時,才會重新打包,并且只parse有變化的文件,其他沒變化的文件是使用緩存的。這樣子,打包時間迅速降到200ms
以內。
再優化下去的話,我們要知道webpack打包的過程中做了啥,首先是解析依賴啦,然后就是各種各樣的loader。從解析依賴的角度入手,我們可以bower install一些打包好的文件,然后通過設置別名讓依賴指向這個文件,這樣就減去了第三方庫的依賴解析時間。
然后各種各樣的loader也是很耗時的,一種辦法是在loader里面配include,讓loader只針對特殊資源。另一種辦法是讓你的第三方庫noparse,具體怎么設置你查文檔吧。
- 3 回答
- 0 關注
- 913 瀏覽
添加回答
舉報