react-hot-loader记录
2017-09-08 16:15
330 查看
1.
2.
3.
4.
5.
npm install --save-dev babel-core babel-loader babel-preset-es2015 babel-preset-react babel-preset-stage-2
2.
npm install --save-dev react-hot-loader@3.0.0-beta.6 或者 npm install --save-dev react-hot-loader@next
3.
.babelrc配置 { "presets": [ ["es2015", {"modules": false}], // webpack现在已经支持原生的import语句了, 并且将其运用在tree-shaking特性上 "stage-2", // 规定JS运用的语言规范层级 // Stage 2 是 "草案", 4 是 "已完成", 0 is "稻草人(strawman)"。 // 详情查看 https://tc39.github.io/process-document/ "react" // 转译React组件为JS代码 ], "plugins": [ "react-hot-loader/babel" // 开启react代码的模块热替换(HMR) ] }
4.
config配置: 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", };
5.
入口文件中配置: import {AppContainer} from 'react-hot-loader' import Redbox from 'redbox-react' const render = (Component) => { ReactDOM.render( <AppContainer errorReporter={Redbox}> <Component /> </AppContainer>, document.querySelector('#odiv') ) }; render(App); if(module.hot) { module.hot.accept('./app', () => { render(App) }); } 或者 const oEle = document.querySelector('#odiv'); render( <AppContainer errorReporter={Redbox}> <App /> </AppContainer>, oEle ) if (module.hot) { module.hot.accept('./app', () => { const NextApp = require('./app').default; render( <AppContainer errorReporter={Redbox}> <NextApp /> </AppContainer>, oEle ) }); }
相关文章推荐
- [转] Spring Boot and React hot loader
- 使用 react-hot-loader
- WEB前端使用 webpack + reack 搭建框架 02 本地服务 与 热替换(react-hot-loader)
- 追溯 React Hot Loader 的实现
- webpack react-hot-loader配置
- [转] React Hot Loader 3 beta 升级指南
- react-hot-loader 3.0于1.3的区别
- 使用 react-hot-loader
- react-hot-loader不能正常运行
- React Hot Loader
- 追溯 React Hot Loader 的实现(转)
- react-hot-loader的使用方式
- webpack配置热加载之react-hot-loader和webpack-dev-server的使用
- 【React】配置react-hot-loader后出现import' and 'export' may only appear at the top level
- 追溯 React Hot Loader 的实现
- react+spring 记录跨域问题的解决方法
- React-Native 开发问题记录
- ReactNativeiOS(二)读书记录 7JSX在React-Native中的应用
- 问题记录:No WebApplicationContext found: no ContextLoaderListener registered
- React基础记录