我是靠谱客的博主 还单身皮皮虾,这篇文章主要介绍用webpack搭建react项目( 二 )- 关于react 方面配置,现在分享给大家,希望可以做个参考。

1、安装react包

工具包 -D,从开发到生产一直用的 -S

复制代码
1
2
cnpm i react react-dom -S

react:创建组件和虚拟dom的,生命周期也在此包里
react-dom:渲染虚拟dom到组件上的

2、页面中引入react
src/main.js中引入raeact

复制代码
1
2
3
4
//导入的时候,接收的成员名称,必须这么写 import React from 'react'; //创建组件、虚拟dom、生命周期 import ReactDom from 'react-dom';//渲染虚拟dom至浏览器

3、创建虚拟dom

复制代码
1
2
3
//参数1 标签类型;参数2,属性;参数3 标签内内容 const myh1 = React.createElement('h1',{title: '呵呵'},'我是h1');

注意:myh1并不是一个标签,它是一个对象。
在react中,一切都是以js来表示的

那究竟什么是虚拟dom呢?
用js对象的形式,来表示dom与dom间的嵌套关系

4、渲染虚拟dom

复制代码
1
2
3
//参数1,虚拟dom;参数2,将要挂载的容器 ReactDom.render(myh1,'#app')

页面报错:
在这里插入图片描述
所以渲染虚拟dom时的第二个参数应该是一个dom元素,而不是一个选择器(与vue不同的地方)

复制代码
1
2
ReactDom.render(myh1,document.getElementById('app'))

5、虚拟dom简便写法

复制代码
1
2
const myh2 = <h1>我是第二个h1</h1>;

但是js里不能写类似于HTML的标记,否则打包失败。
在 JS 中混合写入类似于 HTML 的语法,叫做 JSX 语法;
符合 XML 规范的 JS (标签必须是闭合的)

注:可以使用 babel 来转换 这些 JS 中的标签;

JSX 语法的本质:
在运行的时候,被转换成了 React.createElement 形式来执行的;

6、安装babel

Babel是什么?Babel是将ES6及以上版本的代码转换为ES5的工具。

复制代码
1
2
3
// babel核心包,babel-loader的核心依赖 cnpm i babel-loader @babel/core -D

在webpack.config.js中

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
module.exports = { //webpack只能打包处理.js后缀名的文件,类似于.png,.vue无法主动处理,所以要配置第三方loader //webpack只要遇到无法识别的文件,就来module中找 module: { // 第三方匹配规则 //exclude是排除的意思。这个属性的意思就是不要去匹配node_modules目录中的文件。 rules: [ {test: /.js|jsx$/, use: 'babel-loader', exclude: /node_modules/} ] } };
复制代码
1
2
3
4
5
6
7
8
9
//ES语法分析包 cnpm i @babel/preset-env -D //babel 编译时只转换语法,几乎可以编译所有时新的 JavaScript 语法,但并不会转化BOM(浏览器)里面不兼容的API。 //比如 Promise,Set,Symbol,Array.from,async 等等的一些API //这2个包就是来搞定这些api的。 cnpm i @babel/runtime @babel/plugin-transform-runtime -D //用来解析类的属性的 cnpm i @babel/plugin-proposal-class-properties -D

创建.babelrc,它符合json数据格式

复制代码
1
2
3
4
5
6
7
{ //语法 "presets": ["@babel/preset-env"], //插件 "plugins": ["@babel/plugin-transform-runtime", "@babel/plugin-proposal-class-properties"] }

7、解析jsx语法

识别jsx语法的包

复制代码
1
2
cnpm i @babel/preset-react -D

.babelrc文件里

复制代码
1
2
3
4
"presets": [ "@babel/preset-react" ]

最后

以上就是还单身皮皮虾最近收集整理的关于用webpack搭建react项目( 二 )- 关于react 方面配置的全部内容,更多相关用webpack搭建react项目(内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部