React结合webpack配置

前端之家收集整理的这篇文章主要介绍了React结合webpack配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

安装 node.js

安装 package.json文件

  1. npm init -y

安装后的package.json

  1. {
  2. "name": "c_react","version": "1.0.0","description": "","main": "index.js","scripts": {
  3. "test": "echo \"Error: no test specified\" && exit 1"
  4. },"keywords": [],"author": "","license": "ISC","devDependencies": {
  5. "jspm": "^0.16.53"
  6. },

安装webpack (模块打包机)

  1. npm install webpack -gd(全局安装)
  2. npm install webpack --save-dev(局部安装)

安装babel

  1. npm install --save-dev babel-loader babel-core//这个比较慢
  2. npm install cnpm -gd
  3. cnpm install --save-dev babel-loader babel-core//可以选择安装这个

安装转移的插件

  1. npm install babel-preset-env babel-preset-react --save-dev

进入webpack官网

  1. 在自己的项目目录下建:
  2. app.js
  3.  
  4. import bar from './bar';
  5. bar();
  6. //
  7. bar.js
  8. export default function bar() {
  9. }
  10. //
  11. webpack.config.js
  12. module.exports = {
  13. entry: './app.js',output: {
  14. filename: 'bundle.js'
  15. }
  16. }

安装 react相关库

  1. npm install react react-dom --save

运行webpack --watch

  1. webpack-dev-server//提供的一个服务
  2. npm install webpack-dev-server -gd
  3. npm install webpack-dev-server --save-dev

运行 webpack-dev-server --content-base build/

自动刷新(automatic refresh)

  1. webpack-dev-server --content-base build/ --inline

热更新 (hot replacement)

  1. cnpm install react-hot-loader --save-dev
  1. webpack-dev-server --content-base build/ --hot

处理样式

  1. cnpm install style-loader css-loader --save-dev

优化项目结构

上面都是需要安装的命令,和配置的文件
接下来看完整的代码
webpack.config.js
  1. var path=require("path");
  2.  
  3. module.exports = {
  4. devtool:'source-map',entry: './app.js',output: {
  5. path:path.resolve(__dirname,"build"),publicPath:"/assets/",filename:"bundle.js"
  6. },module: {
  7. rules: [
  8. { test: /\.js$/,exclude: /node_modules/,loader: "react-hot-loader!babel-loader" },{ test: /\.css$/,loader: "style-loader!css-loader" }
  9. ]
  10. }
  11. }
package.json
  1. {
  2. "name": "c_react","scripts": {
  3. "test": "echo \"Error: no test specified\" && exit 1","start":"webpack-dev-server --content-base build/ --hot"
  4. },"devDependencies": {
  5. "babel-core": "^6.25.0","babel-loader": "^7.1.1","babel-preset-env": "^1.6.0","babel-preset-react": "^6.24.1","css-loader": "^0.28.4","react-hot-loader": "^1.3.1","style-loader": "^0.18.2","webpack": "^3.4.0","webpack-dev-server": "^2.6.1"
  6. },"dependencies": {
  7. "react": "^15.6.1","react-dom": "^15.6.1"
  8. }
  9. }
app.js
  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import HelloWorld from './components/HelloWorld';
  4. import './css/main.css';
  5.  
  6. ReactDOM.render(<HelloWorld/>,document.getElementById("app"));
HelloWorld.js
  1. import React from 'react';
  2.  
  3. class HelloWorld extends React.Component{
  4. render(){
  5. return(
  6. <div>hello world1</div>
  7. );
  8. };
  9.  
  10. }
  11.  
  12. //export {HelloWorld as default};
  13. export default HelloWorld;
index.html
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <Meta charset="UTF-8">
  5. <Meta name="viewport" content="width=device-width,initial-scale=1.0">
  6. <Meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>react环境的搭建2</title>
  8. </head>
  9. <body>
  10. <div id="app"></div>
  11. <input type="text">
  12. <script src="assets/bundle.js">
  13. </script>
  14. </body>
  15. </html>

这就是完整的一个环境

这是我的目录图

有问题加我微信呦!!!

欢迎来骚然

猜你在找的React相关文章