最近遇到一个需求,开发chrome插件的时候存在多个html页面,create-react-app 脚手架默认是单html开发的,所以需要重新配置一下wepack,实现多个页面输入和输出。
实例说明
完成后的目录结构
1 | . |
目录说明: 多个页面在分文件夹单独放置在src下,分别为index和popup,build之后都在一个文件里。为了缩短篇幅,删除一些无用目录。
流程
暴露出create-react-app的配置文件
1 | create-react-app eject |
修改path
找到config目录下的paths.js,添加需要的路径变量,后续引用
1 | module.exports = { |
修改webpack.config.dev.js
修改webpack.config.dev.js
entry增加入口文件
1 | entry: { |
修改output输出文件名,避免冲突
1 | output: { |
增加并修改 HtmlWebpackPlugin 插件配置
1 | plugins: [ |
修改webpack.config.prod.js
webpack.config.prod.js 修改方式跟 webpack.config.dev.js基本一样,只需要配置入口,出口和html插件,其他配置不要改变。
结语
webpack的基本流程就是入口和出口,中间经过loader和插件进行处理,所以多页面的配置只需要针对入口和出口进行增加配置即可。例如build的时候也可以进行分文件导出,只需要调整一下文件生成路径就行。