详解使用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 相关文章推荐
让任务管理器中的CPU跳舞的js代码
Nov 01 Javascript
基于jquery DOM写的类似微博发布的效果
Oct 20 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
Apr 01 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
Oct 20 Javascript
跟我学习javascript的隐式强制转换
Nov 16 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
Vue列表页渲染优化详解
Jul 24 Javascript
jQuery实现的简单动态添加、删除表格功能示例
Sep 21 jQuery
如何抽象一个Vue公共组件
Oct 17 Javascript
js微信分享接口调用详解
Jul 23 Javascript
openlayers 3实现车辆轨迹回放
Sep 24 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 高手之路(二)
2006/10/09 PHP
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
Python基础语法(Python基础知识点)
2016/02/28 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
python logging.info在终端没输出的解决
2020/05/12 Python
基于python实现操作redis及消息队列
2020/08/27 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
美国存储和组织商店:The Container Store
2017/08/16 全球购物
加工操作管理制度
2014/01/19 职场文书
第二课堂活动总结
2014/05/07 职场文书
保护环境建议书400字
2014/05/13 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
质量保证书格式
2015/02/27 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
Python实现视频自动打码的示例代码
2022/04/08 Python