【webpack结合React开发环境配置】React开发环境配置之Webpack结合Babel8.x版本安装的正确姿势(Webpack最新版4.x结合Babel8.x环境配置步骤)
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环境配置步骤)的更多相关文章
- [webpack] 配置react+es6开发环境
写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...
- webpack配置React开发环境(上)
Webpack 是一个前端资源加载/打包工具,我们部门的一条主要技术栈就是Webpack+React+ES6+node,虽然之前自己做个人项目也接触好多次Webpack,但是自己并没有研读总结过Web ...
- Webpack笔记(二)——搭建React开发环境
前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...
- react-native —— 在Mac上配置React Native Android开发环境排坑总结
配置React Native Android开发环境总结 1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ S ...
- Mac配置React Native开发环境
一直觉得学习一样东西,不动手怎么也学不会,就像学习swift,看了视频没有动手操作,记住的也就那么点,自己写出东西不是这里有问题就是那里出错. 所以,以后学习自己要多动手. 现在我的学习任务就是: 提 ...
- webpack4配置react开发环境
webpack4大大提高了开发效率,简化了配置复杂度,作为一个大的版本更新,作为一个对开发效率执着的爱折腾的程序员,已经忍不住要尝尝鲜了 首先是cli和webpack的分离,开发webpack应用程序 ...
- 配置React的Babel 6和Webpack 2环境
Facebook的一帮子工程师在忙碌之余开发除了一套前段UI框架React.这个框架最大的有点就在于让UI的开发都基于组件,这样View都是根据props和state变化的. 项目地址:https:/ ...
- 1. React介绍 React开发环境搭建 React第一个程序
什么是 React React 是 Facebook 发布的 JavaScript 库,以其高性能和独特的设计理念受到了广泛关注. React的开发背景 Faceboo ...
- React Native的环境搭建以及开发的IDE
(一)前言 前面的课程我们已经对React Native的环境搭建以及开发的IDE做了相关的讲解,今天我们的主要讲解的是应用设备运行(Running)以及调试方法(Debugging).本节的前提条件 ...
随机推荐
- poj 1390 Blocks (记忆化搜索)
Blocks Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 4318 Accepted: 1745 Descriptio ...
- leetCode(49):Count Primes
Description: Count the number of prime numbers less than a non-negative number, n. 推断一个数是否是质数主要有下面几种 ...
- WCF问题集锦:ReadResponse failed: The server did not return a complete response for this request.
今日.对代码进行单元測试时.发现方法GetAllSupplyTypes报例如以下错误: [Fiddler] ReadResponse() failed: The server did not retu ...
- 51nod 1353 树
树背包 设f[i][j]表示第i个点,和子节点组成的联通块大小为j,其他都可行的方案 j=0表示可行的总方案 #include<cstdio> #include<iostream&g ...
- C# 数据库访问
C# 数据库访问 分类: C#学习笔记2011-07-05 11:26 515人阅读 评论(0) 收藏 举报 数据库c#datasettextboxcommandexception 目录(?)[+ ...
- Sqlserver日期操作
Sqlserver日期操作 select GETDATE() as '当前日期', DateName(year,GetDate()) as '年', DateName(month,GetDate()) ...
- hdu5698瞬间移动(组合数,逆元)
瞬间移动 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submis ...
- codevs4511信息传递(Tarjan求环)
题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的生日.之后每一 ...
- Gym - 102059D 2018-2019 XIX Open Cup, Grand Prix of Korea D. Dumae 贪心+堆
题面 题意:有3e5个人排成一列,然后Li,Ri表示每个人可以站在[Li,Ri]中的一个,然后M(1e6)个限制条件,某个人一定要在某个人前面,求一种合法方案,无解输出-1 题解:首先可以想到对于限制 ...
- [Swift通天遁地]八、媒体与动画-(11)实现音乐播放的动态视觉效果
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...