webpack, react项目中利用外部JS库提升效率
发布时间:2020-12-15 06:38:42 所属栏目:百科 来源:网络整理
导读:点击有惊喜 前言 现在很多前端项目在构建时,都是一个vendor 公共JS文件和和一个app.js的文件,会造成一些弊端。 在项目的开发过程中,修改任何一个地方,都会触发JS的全局构建,需要等待非常久,长久下来大大的降低了开发效率。 另外一个弊端就是每次构建上
点击有惊喜
前言现在很多前端项目在构建时,都是一个vendor 公共JS文件和和一个app.js的文件,会造成一些弊端。
问题分析 实际在项目的过程中,依赖的外部库一般都会不改变的,所以可以把这一部分代码作为一个外部库,发布上线后通过CDN引入,无论再次构建和再次上线,这一部分代码都不会改变。 解决方法webpack对于公共库有几种解决方法,
如何构建外部库
示例代码如下: exports.react = require('react');
exports.reactDom = 'react-dom');
exports.reactRedux = 'react-redux');
exports.reactRouter = 'react-router');
exports.reactRouterRedux = 'react-router-redux');
exports.redux = 'redux');
exports.reduxThunk = 'redux-thunk');
exports.reactAddonsTransitionGroup = 'react-addons-transition-group');
entry: {
"index": srcPath
},output: {
path: outputPath,filename: '[name].js',library: 'MY_LIB',//这个是全局的变量名
libraryTarget: 'umd' //这里写umd,也为了后期兼容其他模式
},
3.构建和发布 把构建好的js发布上线, 如何在项目中引入这个库
<script src="http://g.alicdn.com/my.js"></script>
主要是增加一个externals的配置,这样配置,构建出来的代码将不会包含相关的模块 externals: [{
'react': 'window.MY_LIB.react','react-dom': MY_LIB.reactDom',114)">'redux': MY_LIB.redux',114)">'react-redux': MY_LIB.reactRedux',114)">'redux-thunk': MY_LIB.reduxThunk',114)">'react-router': MY_LIB.reactRouter',114)">'react-router-redux': MY_LIB.reactRouterRedux',114)">'react-addons-transition-group': MY_LIB.reactAddonsTransitionGroup'
}],
再重新构建一次,就会发现速度飞快了。 总结经过几步简单的修改,对项目的速度提升非常明显。
点击有惊喜
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |