Coder Social home page Coder Social logo

react-webpack's Introduction

React with Webpack 初始化已配置项目

React with Webpack 基本配置完毕的初始化项目,已包含必备 webpack 插件 ,会保持项目跟随模块版本更新。
- 初次运行时间 2017年6月24日

任务步骤记录

  • 初始化React项目,npm install 安装依赖

  • 已安装 redux, react-redux

  • 配置 Webpack , Webpack dev server

    webpack dev server 服务启动 npm run dev

    默认的 react-script 服务启动 npm start

    webpack插件包括

    • url-loader -> 解析 *.jpg/png/svg/gif
    • jsx-loader
    • babel-core -> babel 核心包
    • babel-loader
    • babel-preset-es2015 -> 解析 ES6
    • babel-preset-react -> 解析 jsx
    • style-loader -> 解析 *.css
    • css-loader -> 解析 *.css

> HMR是一个webpack插件,它让你能浏览器中实时观察模块修改后的效果,但是如果你想让它工作,需要对模块进行额外的配额<br>
> Babel有一个叫做react-transform-hrm的插件,可以在不对React模块进行额外的配置的前提下让HMR正常工作

* react-transform-hmr
* babel-plugin-react-transform

注:我们把 bebel 的配置选项放在单独名为 .babelrc 的配置文件中。

使用 Source Map

开发总是离不开调试,如果可以更加方便的调试当然就能提高开发效率,不过打包后的文件有时候你是不容易找到出错了的地方对应的源代码的位置的,Source Maps就是来帮我们解决这个问题的。

通过简单的配置后,Webpack在打包时可以为我们生成的source maps,这为我们提供了一种对应编译文件和源文件的方法,使得编译后的代码可读性更高,也更容易调试。

最终应用 eval-source-map
使用eval打包源文件模块,在同一个文件中生成干净的完整的source map。这个选项可以在不影响构建速度的前提下生成完整的sourcemap,但是对打包后输出的JS文件的执行具有性能和安全的隐患。不过在开发阶段这是一个非常好的选项,但是在生产阶段一定不要用这个选项

// 附 .babelrc babel配置文件
{
    "presets": [
        "react",
        "es2015"
    ],
    "plugins": [
        "transform-decorators-legacy",
        "transform-class-properties"
    ],
    "env": {
    "development": {
      "plugins": [
        [
          "react-transform",
          {
            "transforms": [
              {
                "transform": "react-transform-hmr",
                "imports": [
                  "react"
                ],
                "locals": [
                  "module"
                ]
              }
            ]
          }
        ]
      ]
    }
  }
}

react-webpack's People

Contributors

nicksapp avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.