zoukankan      html  css  js  c++  java
  • 从零开始搭建webpack+React项目(一)

    1:新建一个文件夹 ps:mytest ,进入并初始化项目 npm init

    2:进入项目文件夹,安装依赖

    #安装react库

     npm i react react-dom react-router-dom

    # babel依赖
    npm i @babel/core @babel/preset-env @babel/preset-react

    # proposal-class-properties插件可以使用类属性'='赋值的写法
    npm i @babel/plugin-proposal-class-properties

    # 安装webpack
    npm i webpack webpack-cli
    npm i webpack-dev-server # 本地开发的dev服务器
    npm i html-webpack-plugin # 将打包后的js文件插入html模板
    npm i babel-loader # jsx转换器

    npm i style-loader less-loader css-loader # less转换器

    3:进入项目创建 index.html 和index.jsx

    4:配置webpack  创建webpack.config.js 文件

    const path = require('path')  // node自带库,解决路径问题
    const HtmlWebpackPlugin = require('html-webpack-plugin')
    module.exports = {
    entry: './index.jsx', // 入口文件
    output: {
    path: path.resolve(__dirname, 'dist'), // 打包输出路径
    filename: '[name].js' // 输出文件名
    },
    devtool: 'cheap-module-source-map', // 配置调试用的源文件映射
    // 配置devServer
    devServer: {

    },
    module: {
    rules: [
    {
    test: /.(c|le)ss$/, // 过滤样式文件
    use: [
    'style-loader',
    'css-loader',
    'less-loader']
    },
    {
    test: /.jsx?$/, // 配置js和jsx的loader
    exclude: /(node_modules|bower_components)/,
    loader: 'babel-loader',
    options: {
    presets: [ // presets是babel插件的集合
    '@babel/preset-env',
    '@babel/preset-react'
    ],
    plugins: [ // 支持类属性'='赋值插件
    "@babel/plugin-proposal-class-properties"]
    }
    }
    ]
    },
    plugins: [
    new HtmlWebpackPlugin({
    template: path.join(__dirname, 'index.html')
    })
    ]
    }

    5:配置package.json

     ps:如果你是用的是webpack 5.0X 。出现以下错误,建议降低webpack 版本,并且配套降低html-webpack-plugin 版本

    6:启动项目 npm start  和打包 npm run build




  • 相关阅读:
    jdk8u144安装在centos7上
    事件对象(示例、封装函数EventUtil())
    事件处理程序
    取消冒泡
    编程挑战JavaScript进阶篇(慕课网题目)
    网页卷去的距离与偏移量
    DOM编程练习(慕课网题目)
    浏览器窗口可视区域大小
    网页尺寸scrollHeight/offsetHeight
    替换元素节点replaceChild()
  • 原文地址:https://www.cnblogs.com/Gherardo/p/15476645.html
Copyright © 2011-2022 走看看