1. 安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org【使用淘宝镜像】
2. 初始化package.json文件
cnpm init -y
3. 安装webpack
cnpm install -d webpack webpack-cli
5. 安装webpack-dev-server(动态显示界面刷新)
cnpm install -d webpack-dev-server
6. 安装html-webpack-plugin【安装插件,用于把index.html加载到内存中去显示】
cnpm install -d html-webapck-plugin
7. 安装babel[关键点]
cnpm install babel-loader -d[如果安装失败的话,就使用npm install babel-loader, 默认安装的就是一个babel的最新版了]
cnpm install @babel/core @babel/preset-env -d
8. 安装react相关
cnpm install @babel/preset-react -d
9. 配置文件webpack.config.js
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const htmlPlgin = new HtmlWebpackPlugin({
// 配置成功之后会自动在内存中生成一个index.html文件,同时也是可以直接在页面的尾部追加一个main.js文件的
template : path.join(__dirname, './src/index.html'),
filename:'index.html'
})
module.exports = {
// prduction 模式下会自动压缩,development模式下是不会自动进行压缩的。【这是一个必须选项】
mode : 'production',
// webpack4.x 约定了默认的打包入口文件是src下面的index.js文件
// entry : './src/main.js' // 指定打包的入口文件,也可以不指定设置一个index.js文件
plugins : [
htmlPlgin
],
module : {
// 所有第三方模块的配置规则(Webpack默认只能打包js文件,对于其他vue,png,react是无法直接使用的)
// 只要代码中有webpack不能识别的规则,就需要配置loader
rules : [
{test : /\.(js|jsx)$/, use : 'babel-loader', exclude : /node_modules/} // 这里的exclude是不能少的
]
}
}

  

10. 配置.babelrc文件
{
"presets": ["@babel/preset-env", "@babel/preset-react"],
"plugins": []
}

  


11. 为了实现打包后的代码的复用性,使用一个babel-transform-runtime这个插件
babel-runtime 是供编译模块复用工具函数。是锦上添花(可以实现代码复用)
babel-polyfil是雪中送炭,是转译没有的api.(类似于String.protype.indludes = func(){}, 手动增加了一个原型方法) cnpm install -d @babel/plugin-transform-runtime

【webpack结合React开发环境配置】React开发环境配置之Webpack结合Babel8.x版本安装的正确姿势(Webpack最新版4.x结合Babel8.x环境配置步骤)的更多相关文章

  1. [webpack] 配置react+es6开发环境

    写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...

  2. webpack配置React开发环境(上)

    Webpack 是一个前端资源加载/打包工具,我们部门的一条主要技术栈就是Webpack+React+ES6+node,虽然之前自己做个人项目也接触好多次Webpack,但是自己并没有研读总结过Web ...

  3. Webpack笔记(二)——搭建React开发环境

    前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...

  4. react-native —— 在Mac上配置React Native Android开发环境排坑总结

    配置React Native Android开发环境总结 1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ S ...

  5. Mac配置React Native开发环境

    一直觉得学习一样东西,不动手怎么也学不会,就像学习swift,看了视频没有动手操作,记住的也就那么点,自己写出东西不是这里有问题就是那里出错. 所以,以后学习自己要多动手. 现在我的学习任务就是: 提 ...

  6. webpack4配置react开发环境

    webpack4大大提高了开发效率,简化了配置复杂度,作为一个大的版本更新,作为一个对开发效率执着的爱折腾的程序员,已经忍不住要尝尝鲜了 首先是cli和webpack的分离,开发webpack应用程序 ...

  7. 配置React的Babel 6和Webpack 2环境

    Facebook的一帮子工程师在忙碌之余开发除了一套前段UI框架React.这个框架最大的有点就在于让UI的开发都基于组件,这样View都是根据props和state变化的. 项目地址:https:/ ...

  8. 1. React介绍 React开发环境搭建 React第一个程序

    什么是 React         React 是 Facebook 发布的 JavaScript 库,以其高性能和独特的设计理念受到了广泛关注. React的开发背景         Faceboo ...

  9. React Native的环境搭建以及开发的IDE

    (一)前言 前面的课程我们已经对React Native的环境搭建以及开发的IDE做了相关的讲解,今天我们的主要讲解的是应用设备运行(Running)以及调试方法(Debugging).本节的前提条件 ...

随机推荐

  1. URAL 1822. Hugo II's War 树的结构+二分

    1822. Hugo II's War Time limit: 0.5 second Memory limit: 64 MB The glorious King Hugo II has declare ...

  2. 【Spark】Stage生成和Stage源代码浅析

    引入 上一篇文章<DAGScheduler源代码浅析>中,介绍了handleJobSubmitted函数,它作为生成finalStage的重要函数存在.这一篇文章中,我将就DAGSched ...

  3. bzoj3894: 文理分科(还是那道最小割)

    3894: 文理分科 题目:传送门 感谢波老师没有来D飞我,让我做出了这题... 题解: 这题其实和我做的上一题(bzoj2132)很像,所以就不写题意了. 依然是那最小割... 这题给出了四个利益矩 ...

  4. MFC基础学习

    RECT rect = { }; //获取窗口的内部客户区矩形 GetClientRect(&rect); 模态和费模态对话框! 模态对话框只需要包含对话框头文件,定义对话框类,调用DoMod ...

  5. Luogu1275魔板

    https://zybuluo.com/ysner/note/1136271 题面 有这样一种魔板:它是一个长方形的面板,被划分成\(n\)行\(m\)列的\(n*m\)个方格.每个方格内有一个小灯泡 ...

  6. PL/SQL程序控制结构及在PL/SQL中更改数据和管理事务

    1.条件控制 A. IF条件分支语法: if (条件1) then 语句; elsif (条件2) then 语句; elsif (条件3) then 语句; else 语句; end if; B . ...

  7. 49.Ext.form.TextField()基本用法

    转自:https://blog.csdn.net/toudoulin/article/details/6719163 var textfieldName = new Ext.form.TextFiel ...

  8. webpack的初步使用(01)

    webpack:1.安装:在项目文件下先npm init初始化,一路回车2.进入到建立的项目下:cd projectname3.安装webpack:npm install webpack --save ...

  9. 常见的Java Script内存泄露原因及解决方案

    前言 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存.内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了 ...

  10. 哈夫曼编码译码系统(c/c++)

    哈夫曼编码译码系统的实现,主要包含三部分: 1.创建哈夫曼树 2.编码函数 3.译码函数 编写代码时为了方便,在这里混用了c++的输入输出流.主体用c语言实现. 下面时代码部分: 1.头文件,以及储存 ...