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 关注
- 861 浏览
添加回答
举报