webpack+babel+ES6+react環境搭建


webpack+babel+ES6+react環境搭建

步驟:

1 創建項目結構

注意: 先創建一個項目目錄  react  這個名字自定義,然后進入到這個目錄下面
mkdir  app    //創建app目錄 用來存放項目源文件
mkdir  dist   // 創建dist目錄  用來存放打包好的文件
touch  .gitignore  //創建.gitignore  用來添加git 忽略的文件
touch   webpack.config.js   //創建webpack的配置文件
cd  app    //進入到app目錄  
touch  index.js  //在app目錄中創建 index文件  入口文件
mkdir  component  //創建componet目錄 用來裝組件

 

2  初始化項目

npm init -y
 
做完上面兩步,得到項目目錄為:
 
 

3 安裝webpack

npm install webpack --save

注意:安裝完成以后,項目目錄下會生成一個node_modules的文件夾  用來存放npm包

4 打開webpack.config.js 文件 並添加配置項目

module.exports = {
  context:__dirname+"/app", //源文件目錄
  entry:{
    app:"./index.js" //在源文件目錄下去找index.js 文件作為打包的入口文件
  },
  output:{
    path:__dirname+"/dist", //生成的文件存放目錄
    filename:"[name].bundle.js" //生成的文件 name 表示entry下面的app
  }
}

  

5 讓npm 可以運行 webpack --在package.json 文件中 添加一條命令

{
  "name": "react",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev":"./node_modules/.bin/webpack"   //這條命令是新增加的
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel": "^6.23.0",
    "babel-core": "^6.23.1",
    "babel-loader": "^6.3.2",
    "babel-preset-es2015": "^6.22.0",
    "webpack": "^2.2.1"
  }
}

  

注意: 添加完成后就可以 通過  npm run dev 來打包編譯 js文件

6 在dist目錄下面新建index.html 文件,並且引入打包好的js文件 

index.html 文件內容:
 
<!DOCTYPE html>
<html lang="en">
  <head>
    <metacharset="UTF-8">
  <title>首頁</title>
  </head>
  <body>
  </body>
  <scriptsrc="app.bundle.js"></script>
</html>

  

index.js文件內容:
 
doucment.write("hello world!!!!")

  

執行npm run dev 命令后 會在dist目錄下面生成一個 app.bundle.js 的文件   運行index.html 文件查看效果
 

6 通過babel來使用es6

安裝相關loader
 
npm install babel-loader babel-core babel-preset-es2015 --save
 
修改webpack.config.js 配置文件,添加規則
module.exports = {
    context:__dirname+"/app",
    entry:{
        app:"./index.js"
    },
    output:{
        path:__dirname+"/dist",
        filename:"[name].bundle.js"
    },
    module:{
        rules:[
            {
                test:/\.jsx?$/,
                exclude: /node_modules/,
                use: [{
                    loader: "babel-loader",
                    options: { presets: ["react","es2015"] }
                }],
            },
        
        ]
    }
}

  

7 添加react支持

npm install react react-dom babel-preset-react --save

 

注意:這里有坑: 安裝的時候報錯,最大的問題是因為我們項目名稱叫做  react  在package.json文件中有個name屬性值為react  只需要把這個react值改成其他的就可以安裝上 了
 
 
修改 app下面 index.js 文件
import React from 'react';
import ReactDOM from 'react-dom';
class IndexComponent extends React.Component{
    render(){
        return <h1>hello world!!!</h1>
    }
}
var oBox = document.getElementById("box");
ReactDOM.render(<IndexComponent/>,oBox)

npm run dev    然后運行  index.html 文件查看效果

修改dist下面 index.html文件
<!DOCTYPE html>
<htmllang="en">
<head>
    <metacharset="UTF-8">
<title>首頁</title>
</head>
<body>
    <divid="box"></div>
</body>
<scriptsrc="app.bundle.js"></script>
</html>

 

8 添加樣式支持

安裝css-loader 和 style-loader
 
npm install css-loader style-loader --save
 
 
修改配置webpack.config.js 配置文件
 
module.exports = {
    context:__dirname+"/app",
    entry:{
        app:"./index.js"
    },
    output:{
        path:__dirname+"/dist",
        filename:"[name].bundle.js"
    },
    module:{
        rules:[
            {
                test:/\.jsx?$/,
                exclude: /node_modules/,
                use: [{
                    loader: "babel-loader",
                    options: { presets: ["react","es2015"] }
                }],
            },
            {   //這里的內容是新增加的對樣式的支持
                test: /\.css$/,
                use: ["style-loader", "css-loader"],
            },
        ]
    }
}

  

修改 index.js 文件
 
import React from 'react';
import ReactDOM from 'react-dom';
import styles from './css/index.css'; //這里內容屬於新增加的
class IndexComponent extends React.Component{
    render(){
        return <h1>hello world!!!</h1>
    }
}
var oBox = document.getElementById("box")
ReactDOM.render(<IndexComponent/>,oBox)

  

在app目錄下新建css目錄 ,在css目錄下 新建 index.css 文件  
h1{
color: green;
}
  
 
npm run dev  編譯  然后運行 dist目錄下index.html 文件 查看效果
 

9 添加web服務器支持

安裝 webpack-dev-server
 
npm install webpack-dev-server --save 
 
修改package.json文件  
把:
 
"dev": "./node_modules/.bin/webpack" 
 
修改為:
 
"dev": "./node_modules/.bin/webpack-dev-server --content-base dist"

  

npm run dev   然后 在瀏覽器輸入 http://loaclhost:8080 查看效果

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM