日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

webpack入门+react环境配置

發(fā)布時間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webpack入门+react环境配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

小結(jié)放在前:這篇文章主要是為下一篇的react提前鋪好路,webpack是一個前端資源模塊化管理和打包工具,說白了就是方便我們管理自己的常用的一些代碼,比如你開發(fā)中用到sass以及jade同時用到es6,開發(fā)時你不可能改動某個地方就挨個命令去轉(zhuǎn)換在到瀏覽器去看效果,那樣效率是非常低的。所以webpack幫我們省去了那些多余的步驟

webpack 基本安裝

開始前還是萬萬不能缺少的安裝:

npm?install?webpack?-g

安裝完接著是建個文件夾新建一個package.json依賴管理文件

npm?init??//運行后??按提示填寫???當然嫌麻煩?就直接下一步??下一步就好??無傷大礙

現(xiàn)在安裝我們的webpack

npm?install?webpack?--save-dev???//--save-dev?的意思是將這個安裝過程記錄到我們的package.json依賴管理文件里

完后新建一個文件并命名為webpack.config.js(如同我們的常規(guī)的 gulpfile.js、Gruntfile.js),就是一個配置項,告訴 webpack 它需要做什么。

打開webpack.config.js引入webpack

var?webpack?=?require('webpack');

webpack 基本入門

webpack主要結(jié)構(gòu)分三個:入口文件配置(entry)、入口文件輸出配置(output)、加載器配置(module)、其他配置(resolve)

  • 入口文件配置

  • entry:?{????????index?:?'./src/main.js'},
  • 入口文件輸出配置

  • //配置編譯成功后文件存放的位置output:?{????????path:?'dist/js',??//編譯后文件所在的文件夾????????filename:?'[name].js'??//根據(jù)入口文件名命名編譯后的文件名,編譯后文件還是叫main.js},
  • 加載器配置

  • module:?{????????//最關鍵的一塊配置,它告知?webpack?每一種文件都需要使用什么加載器來處理????????loaders:?[{?test:?/\.css$/,?loader:?'style-loader!css-loader'?},{?test:?/\.js$/,?loader:?'jsx-loader?harmony'?},{?test:?/\.scss$/,?loader:?'style!css!sass?sourceMap'},{?test:?/\.(png|jpg)$/,?loader:?'url-loader?limit=8192'}]},
  • 其他配置

  • resolve:?{????????//自動擴展文件后綴名,意味著我們require模塊可以省略不寫后綴名extensions:?['',?'.js',?'.json',?'.scss']}

    ok!好記憶不如爛筆頭,現(xiàn)在我們來自己搭建一個react的開發(fā)環(huán)境吧!

    先參考我的目錄結(jié)構(gòu)

    build存放編譯后的文件,development存放react代碼的文件夾,components存放react組件的文件夾,node_modules存放安裝的依賴

    我們先要安裝一些項目依賴:

    npm?install?--save-dev?react?react-domnpm?install?--save-dev?babel-core?babel-loader??babel-preset-es2015?babel-preset-reactnpm?install?--save-dev?style-loader?css-loader?sass-loader?url-loadernpm?install?--save-dev?webpack-dev-server?//自動刷新修改后的結(jié)果,在webpack.config.js中配置webpack-dev-server, //在這里需要修改下entry的路徑,給它加一個webpack/hot/dev-server,后文會提到

    要是安裝失敗那就分開一個個裝,還不行就用淘寶的cnpm裝 ,新航道雅思培訓還不行就看看你的node和npm的環(huán)境變量等配置(親身體會T_T)

    npm?install?cnpm?-g

    行!接下來是文件的內(nèi)容

    webpack.config.js文件的配置如下:

    var?path?=?require('path');var?webpack?=?require('webpack');??//加載webpack依賴包module.exports?=?{entry:?['webpack/hot/dev-server',?path.resolve(__dirname,?'./development/main.js')],??//入口文件并添加了熱加載output:?{path:?path.resolve(__dirname,?'./build'),filename:?'bundle.js'??//輸出文件},????module:?{loaders:?[{test:?/\.js?$/,exclude:?/(node_modules|bower_components)/,loader:?'babel',query:?{presets:?['es2015',?'react']}?//將react編譯成js文件},{?test:?/\.css$/,?loader:?'style-loader!css-loader'?},?//打包css文件{?test:?/\.scss$/,?loader:?'style!css!sass?sourceMap'},?//編譯sass文件{?test:?/\.(png|jpg)$/,?loader:?'url-loader?limit=8192'}?//對圖片進行打包]},plugins:?[????????new?webpack.HotModuleReplacementPlugin()],resolve:?{????????//自動擴展文件后綴名extensions:?['',?'.js',?'.json',?'.scss',?'.ts']} };

    main.js內(nèi)容如下:

    let?React?=?require('react');let?ReactDOM?=?require('react-dom');let?AppComponent?=?require('./components/index.js'); ReactDOM.render(<AppComponent?/>,?document.getElementById('content'));

    index.js內(nèi)容如下:

    var?React?=?require('react');var?ProductBox; ProductBox?=?React.createClass({render:?function?()?{????????return?(????????????<div?className="productBox">hello?react&es2015&webpack!!!????????????</div>);} });module.exports?=?ProductBox;

    index.html內(nèi)容如下:

    <!DOCTYPE?html><html><head?lang="en"><meta?charset="UTF-8"><title>React?Project</title></head><body><script?src="http://localhost:8080/webpack-dev-server.js"></script><div?id="content"></div><script?src="./bundle.js"></script></body></html>

    將上面的文件寫好后并放到對應文件夾內(nèi)運行命令npm run build dev,成功后瀏覽器訪問地址location:8080,就會顯示出對應界面


    轉(zhuǎn)載于:https://blog.51cto.com/zhangtaoze/1913972

    總結(jié)

    以上是生活随笔為你收集整理的webpack入门+react环境配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。