1. 程式人生 > >webpack+webpack-dev-server+react搭建熱更新專案

webpack+webpack-dev-server+react搭建熱更新專案

由於之前對webpack的瞭解也沒有那麼的多,所以在自己去搭建的時候就會遇到各種問題,這次自己從頭到尾的搭建了一次,對webpack進行一次梳理

1、首先本人使用的版本是 [email protected][email protected](webpack4網上說還有坑,所以學習先不設計4.x版本了)

2、初始化專案npm init,然後生產package.json檔案

3、建立一個src檔案,並在檔案下建立一個index.js檔案,作為整個專案的入口檔案,然後輸入

      document.body.innerHTML = "<div>ghj</div>";

4、建立一個build檔案,並在檔案下建立一個index.html檔案,作為整個專案的頁面入口,並引入打包好的bundle.js檔案


5、在根一級的目錄下面新建一個webpack.config.js檔案,用作整個專案的webpack的檔案


目錄結構如下


然後在命令列裡面輸入命令webpack,就會自動的在build檔案之下給生成一個新的bundle.js檔案

搭建react的環境

下載相應的包和依賴

npm install react react-dom --save-dev

npm install babel babel-cli babel-loader --save-dev

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


注:以前編譯es6以上語法用的是babel-preset-es2015,現在是時候說再見了,babel-preset-env是一個更定製化的外掛,你可以指定你要相容的瀏覽器版本,這樣babel會選擇編譯該版本不支援的語法而不是全部編譯成舊的語法,具體配置參見:babel-preset-env

webpack.config.js裡面的配置

var path=require('path');


module.exports={
  entry: "./src/index.js",    //入口檔案--絕對路徑
  output: {
    path: path.resolve(__dirname,'build'),  //
    filename: 'bundle.js'
  },
  module:{
    loaders:[
      {
        test: /\.js$/, //配置要處理的檔案格式,一般使用正則表示式匹配
        loader: 'babel-loader', //使用的載入器名稱
        exclude:/node_modules/,
        query: {                //babel的配置引數,可以寫在.babelrc檔案裡也可以寫在這裡
            presets: ['env', 'react']   //{"presets": ["react", "env"]}
        }
      }
    ]
  },
  devServer: {
    contentBase: "./build",//本地伺服器所載入的頁面所在的目錄
    historyApiFallback: true,//不跳轉
    inline: true,//實時重新整理
    //hot: true
  }

}

package.json檔案裡面scripts的配置

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start": "webpack-dev-server --watch --color --port 8081"  //

  },

這樣就實現了webpack+webpack-dev-server+react熱更新的搭建。

注意:其中要想實現熱更新需要在package.json檔案和webpack.config.js檔案裡面分別都配置

相關推薦

webpack+webpack-dev-server+react搭建更新專案

由於之前對webpack的瞭解也沒有那麼的多,所以在自己去搭建的時候就會遇到各種問題,這次自己從頭到尾的搭建了一次,對webpack進行一次梳理1、首先本人使用的版本是 [email protected]、[email protected](webpack

關於webpack-dev-server不能及時更新的問題

tput output style 關於 腳本 class 不能 更新 瀏覽器 問題描述: 配置好了webpack-dev-server之後,修改文件,發現它可以重新編譯,但是瀏覽器頁面並沒有自動更新。 比如我在腳本裏新添了一句alert(1234), 雖然webpack-

搭建code-push-server伺服器用於react-native更新

之前我做熱更新使用了微軟的code-server,如果只是測試demo還好,要是真實專案中用別人的伺服器,程式碼都要傳到別人的伺服器,那豈不是坑爹?所以今天自己搭建了一個code-push-server,遇到了挺多坑的,網上的唯一的幾篇文章也沒什麼說明,只好自己摸索,經過大

實現 React Naitve 更新 (client && server) 客戶端以及伺服器端

目前針對react native 熱更新的方案比較成熟的選擇有microsoft公司的code-push 傳送門,與react-native 中文網的pushy 傳送門 本文選擇code-push 用來進行對react-native 實現熱更新,code-pus

解決webpackdev-server不能匹配post請求的問題

解決webpack不能匹配post請求的問題 webpack的dev-server只能匹配get請求,在本地做本地資料的時候會很不方便。 可以使用如下兩種辦法解決: 1.在webpack.config.js配置檔案中的devServer欄位加入 d

React Native更新(CodePush使用)

dfa epush nodejs 管理 push alpha 輸入 進制 通過                                      React Native熱更新(CodePush使用)   在移動應用開發過程中,應用的發布上線一直是個耗時且長時間沒有

react-native更新

一、全域性安裝 code-push-cli $ npm i -g code-push-cli 二、註冊 App Center 執行以下命令 $ code-push register 或直接開啟 https://appcenter.ms/ 註冊 三、登入

react-antive 更新

GitHub:https://github.com/Microsoft/react-native-code-push 全域性安裝: npm install -g code-push-cli (Mac 加 sudo) 命令列註冊賬號:code-push register 然後跳轉到一

react native 更新與程式簡單除錯

1.如何開啟Developer Menu          模擬器:ctrl+m          真機:搖一搖手機即可 2.除錯及熱更新準備工作:當真機使用資料線或者模擬器時可以忽略,建議

react 模組更新(Hot Module Replacement)

1  修改package.json中的設定 2   修改index.js  當模組更新的時候, 通知index.js 3  使用npm start  修改頁面的內容發現不會再重新整理頁面,只是替換了修改的部分 tip

React-Native 更新以及增量更新

不是增量更新,Rn的熱更新,流程是下載伺服器端上的一個解壓包到本地 解壓到應用的檔案目錄 這是一個打包後的apk檔案,在Rn中我們的js程式碼都是打包後存放在assets目錄中,其中index.android.bundle,可以理解我們js寫後打包

React-Native 更新嘗試(Android)

前言:由於蘋果釋出的ios的一些rn的app存在安全問題,主要就是由於一些第三方的熱更新庫導致的,然而訊息一出就鬧得沸沸揚揚的,導致有些人直接認為“學了大半年的rn白學啦~~!!真是哭笑不得。廢話不多說了,馬上進入我們今天的主題吧。“ 因為一直在做androi

React Native更新

官方相關資源: iOS的部署方式: Android的部署方式: code push的使用步驟: 1、安裝code push 的 react native的sdk npm install --save [email protected] react-native link react-nati

react-native更新之CodePush詳細介紹及使用方法

react-native熱更新之CodePush詳細介紹及使用方法 2018年03月04日 17:03:21 clf_programing 閱讀數:7979 標籤: react native熱更新code pus

[深入剖析React Native]更新react-native-pushy使用指南(IOS)

本文使用RN版本:0.33.0 準備工作 首先你應該有一個基於React Native開發的應用,我們把具有package.json的目錄叫做你的”應用根目錄”。 如果你還沒有初始化應用,請參閱開始使用React Native。 所以我們也假

[深入剖析React Native]更新react-native-pushy使用指南(Android)

本文使用RN版本:0.33.0 準備工作 首先你應該有一個基於React Native開發的應用,我們把具有package.json的目錄叫做你的”應用根目錄”。 如果你還沒有初始化應用,請參閱開始使用React Native。 所以我們也假

3分鐘完成React-Native更新

此文使用當下最新版本的RN與Code-Push進行演示,其中的引數不會過多進行詳細解釋,更多引數解釋可參考其它文章,這裡只保證APP能正常進行熱更新操作,方便快速入門,開始來快活吧。 操作指南

微軟的React Native更新

官方相關資源: iOS的部署方式: Android的部署方式: 我的步驟: 1、安裝code push 的 react native的sdk npm install --save react-native-code-push@latest react-nat

Unity伺服器更新專案總結

1.       當下載unity3D、txt、xml檔案時,切記在IIS中新增相應的MIME型別,否則會出現400錯誤 2.      www、bundleAsset、Asset之間的關係: 1.              WebStream:包括了壓縮的檔案,解壓所需的

webpack-dev-server更新問題

webpack配置如下  目前dist下面的bundle.js是webpack打包的, 但是熱更新所引用的bundle.js雖然名字一樣,但是並不是看到的那個bundle.js,而是在當前路徑下不可見的一個bundle.js 下面實驗,證明index.html引用的