一步一步建立自己的react 开发环境(一)

2019-05-08  本文已影响0人  铁了个铁

这次的目标: 实现基本的webpack打包功能和开发服务

  1. 建立文件夹并生成 package.json 文件
mkdir step-by-step-react-dev-env
cd step-by-step-react-dev-env
yarn init
初始化后的package.json

注意圈中的两个地方, 把private设置为true, 并把main删掉, 关于这点引用一下官方的解释:

我们还需要调整 package.json 文件,以便确保我们安装包是 private(私有的),并且移除 main 入口。这可以防止意外发布你的代码。

  1. 安装webpack和所需的plugin
yarn add webpack webpack-cli webpack-dev-server html-webpack-plugin clean-webpack-plugin style-loader css-loader file-loader  url-loader  --dev
  1. 添加webpack配置文件
    在根目录下添加webpack.config.js
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
  module: {
    rules: [
      {
        oneOf: [
          {
            test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
            loader: 'url-loader',
            options: {
              limit: 10000,
            },
          },
          {
            test: /\.css$/,
            use: ['style-loader','css-loader'],
            sideEffects: true,
          },
          {
            loader: 'file-loader',
            exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/],
          },
        ]
      }
    ]
  },
  devtool: 'source-map',
  plugins: [
    new CleanWebpackPlugin(),
    new HtmlWebpackPlugin({
      template: './src/index.html',
      favicon: './src/favicon.ico',
    })
  ],
}

  1. 配置运行命令
// package.json

{
  // ...
  "scripts": {
    "start": "webpack-dev-server --inline --hot --open --mode=development",
    "build": "webpack"
  }
}
  1. 添加自己的代码
    在src文件夹中:
<!-- src/index.html -->

<!-- ... -->

<body>
  <div id="root"></div>
</body>
</html>
/* src/index.css */

body {
  color: salmon;
}
// src/index.js

import './index.css';
const greetings = 'Hello world!';
document.getElementById('root').innerText = greetings;

现在, 执行 yarn build, 打包成功后打开dist/index.html, 小图标显示, 文字和颜色也都显示了
执行yarn start, 开启服务看到同样的效果, 表明我们已经成功打包了小图标, css, js.

最终代码
下一步

上一篇下一篇

猜你喜欢

热点阅读