webpack-react 起步 配置

安装Webpack

  一 初步:

  1. npm i -D 是npm install --save-dev 的简写,是指安装模块并保存到package.json
  的devDe pendencies,npm i -D webpack

  2.全局安装 npm i -g webpack

  二 运行

在项目根目录下对应的命令行里通过node rnodules/.bin/webpack 运行Webpack 的可执行文件。

在Npm Script 里定义的任务会优先使用本项目下的Webpack

  三 行动

创建src 文件夹

md src
cd src

文件目录:

  --index.html

  --src

     --main.js

     --show.js

编写 webpack.config.js

复制代码
const path = require('path');

module.exports = {
  // JavaScript 执行入口文件
  entry: './src/main.js',
  output: {
    // 把所有依赖的模块合并输出到一个 bundle.js 文件
    filename: 'bundle.js',
    // 输出文件都放到 dist 目录下
    path: path.resolve(__dirname, './dist'),
  }
};
复制代码

 根目录下执行 webpack。成功 js 文件都打包合并到bundle.js里

二.webpack 与 react 安装

安装步骤命令:

复制代码
npm init -y
npm install webpack webpack-dev-server --save-dev
//报错可能需要 npm install
--save-dev webpack-cli -g

//babel
npm install -D babel-loader @babel/core @babel/preset-env 
npm install --save @babel/polyfill// babel react ES6
//代码检查 与webpack loader
npm install --save-dev eslint-config-defaults
npm i -D eslint eslint-loader
复制代码
npm i -D react react-dom

npm install --save-dev @babel/preset-react

配置文件 根目录下

 .babelrc


{
  "presets": ["@babel/preset-react"]
}
 

.eslintrc

{
 "extends":"airbnb",
 "rules":{
    "comma-dangle":["error","never"]
 }
}

webpack.config.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const { resolve } = require('path');
const webpack = require('webpack');
 
module.exports = {
  context: __dirname,
  entry:  [
    //'react-hot-loader/patch',
    //'webpack/hot/only-dev-server',
    './app/main.js'
  ],
  output: {
    path: resolve(__dirname, 'build'),//打包后的文件存放的地方
    filename: "bundle.js",//打包后输出文件的文件名
    publicPath: "/"
  },
  devServer: {
    contentBase: resolve(__dirname, 'build'),
    hot: true,
    publicPath:'/'
  },
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        use: [
          'babel-loader',
        ],
        exclude: /node_modules/
      },
    ],
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NamedModulesPlugin(),
  ],
  devtool: "cheap-eval-source-map",
};

package.json

复制代码
{
  "name": "mydemo",
  "version": "1.0.0",
  "description": "",
  "main": "webpack-production.config.js",
  "scripts": {
    "build": "webpack",
    "dev": "webpack-dev-server"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.7.5",
    "@babel/preset-env": "^7.7.6",
    "@babel/preset-react": "^7.7.4",
    "babel-loader": "^8.0.6",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "webpack": "^4.41.3",
    "webpack-cli": "^3.3.10",
    "webpack-dev-server": "^3.9.0"
  }
}
复制代码

  之后就可以使用这个配置作为自己 react 开发的基础。

  然后在命令行运行 webpack 就会创建 bundle.js

  详细见 git地址

二 create-react-app

react 更简单的方式是直接使用官方模板

 

$ npm install -g create-react-app
$ create-react-app my-app
$ cd my-app/
$ npm start

 

作者:RunStone

出处:https://www.cnblogs.com/RunStone/p/12049509.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   奔跑石头  阅读(175)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示