详解使用WebPack搭建React开发环境


Posted in Javascript onAugust 06, 2019

第一步、基础环境

初始化

项目初始化

npm init -y

安装webpack

npm i webpack

安装react

npm i react react-dom -s

项目基础框架

入口文件(src/index.js)

import React from 'react'
import {render} from 'react-dom'
import App from './App'
render(<App/>,document.getElementById('root'))

主组件(src/App.js)

import React,{Component} from 'react'
class App extends Component{
  constructor(){
    super()
  }
  redner(){
    return(
      <div>
        App Module
      </div>
    )
  }
}

webpack.config.js

const path = require('path')
const StyleLintPlugin = require('stylelint-webpack-plugin')
const STYLELINTENABLE = true
module.exports = {
  mode:'development',
  entry:'./src/index.js',
  output:{
    path:path.resolve(__dirname,'build'),
    filename:'bundle.js'
  },
  module:{
    rules:[
      //处理js/jsx
      {
        test:/\.jsx?/i,
        use:{
          loader:'bebel-loader',
          options:{
            presets:['@babel/preset-react']
          }
        }
      },
      //处理css
      {
        test:/\.css$/i,
        use:['style-loader','css-loader',{
          loader:'postcss-loader',
          options:{
            plugins:require('autoprefixer')
          }
        }]
      },
      //处理图片资源
      {
        test:/\.(png|jpg|gif)$/i,
        use:{
          loader:'url-loader',
          options:{
            outputPath:'imgs/',
            limit:10*1024
          }
        }
      },
      //处理字体文件
      {
        test:/\.(eot|svg|ttf|woof|woof2)$/i,
        use:{
          loader:'url-loader',
          options:{
            outputPath:'fonts/',
            limit:10*1024
          }
        }
      },
      //less
      {
        test:/\.less$/i,
        use:['style-loader','css-loader','less-loader']
      },

    ]
  },
  devtool:'source-map',
  plugins:[
    ...STYLELINTENABLE ?[
      new StyleLintPlugin({
        files:['**/*.css','**/*.less','**/*.js','**/*.html','**/*.vue','**/*.scss']
      })
    ]:[]
  ]
}

webpack.config.js

"stylelint": {
  "extends": "stylelint-config-standard"
 },
 "browserslist":[
  "> 0.5%",//市场占有率大于百分之零点5
  "last 2 version",//最后两个版本
  "not dead"//还没有die
 ]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript import css实例代码
Jul 18 Javascript
js中if语句的几种优化代码写法
Mar 12 Javascript
通过Javascript读取本地Excel文件内容的代码示例
Apr 08 Javascript
JS使用getComputedStyle()方法获取CSS属性值
Apr 23 Javascript
KnockoutJs快速入门教程
May 16 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
Jun 09 Javascript
微信开发 消息推送实现代码
Oct 21 Javascript
Select2.js下拉框使用小结
Oct 24 Javascript
快速搭建React的环境步骤详解
Nov 06 Javascript
node跨域转发 express+http-proxy-middleware的使用
May 31 Javascript
微信小程序开发问题之wx.previewImage
Dec 25 Javascript
微信小程序开发的基本流程步骤
Jan 31 Javascript
vue-cli3+typescript新建一个项目的思路分析
Aug 06 #Javascript
Vue 中可以定义组件模版的几种方式
Aug 06 #Javascript
angularjs请求数据的方法示例
Aug 06 #Javascript
通过js示例讲解时间复杂度与空间复杂度
Aug 06 #Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
Aug 06 #Javascript
JS中如何轻松遍历对象属性的方式总结
Aug 06 #Javascript
VUE组件中的 Drawer 抽屉实现代码
Aug 06 #Javascript
You might like
有关PHP中MVC的开发经验分享
2012/05/17 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
python实现的阳历转阴历(农历)算法
2014/04/25 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
SVM基本概念及Python实现代码
2017/12/27 Python
Python3爬楼梯算法示例
2019/03/04 Python
python实现图片转字符小工具
2019/04/30 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
人力管理专业毕业生求职信
2014/02/27 职场文书
高三高考决心书
2014/03/11 职场文书
学习经验交流会主持词
2014/04/01 职场文书
英文商务邀请函范文
2015/01/31 职场文书
教师节晚会主持词
2015/06/30 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
使用scrapy实现增量式爬取方式
2022/06/21 Python