最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

webpack入門+react環(huán)境配置

 更新時(shí)間:2017年02月08日 10:07:09   作者:閣主乄  
webpack是一個(gè)前端資源模塊化管理和打包工具,說(shuō)白了就是方便我們管理自己的常用的一些代碼,比如你開(kāi)發(fā)中用到sass以及jade同時(shí)用到es6,開(kāi)發(fā)時(shí)你不可能改動(dòng)某個(gè)地方就挨個(gè)命令去轉(zhuǎn)換再到瀏覽器去看效果,那樣效率是非常低的。所以webpack幫我們省去了那些多余的步驟。

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

webpack 基本安裝

開(kāi)始前還是萬(wàn)萬(wàn)不能缺少的安裝:

npm install webpack -g

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

npm init  //運(yùn)行后  按提示填寫   當(dāng)然嫌麻煩 就直接下一步  下一步就好  無(wú)傷大礙

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

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

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

打開(kāi)webpack.config.js引入webpack

var webpack = require('webpack');

webpack 基本入門

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

入口文件配置

entry: {
 index : './src/main.js'
 },

入口文件輸出配置

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

加載器配置

module: {
 //最關(guān)鍵的一塊配置,它告知 webpack 每一種文件都需要使用什么加載器來(lái)處理
 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: {
 //自動(dòng)擴(kuò)展文件后綴名,意味著我們r(jià)equire模塊可以省略不寫后綴名
 extensions: ['', '.js', '.json', '.scss']
 }

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

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

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

我們先要安裝一些項(xiàng)目依賴:

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

要是安裝失敗那就分開(kāi)一個(gè)個(gè)裝,還不行就用淘寶的cnpm裝 ,還不行就看看你的node和npm的環(huán)境變量等配置(親身體會(huì)T_T)

npm install cnpm -g

行!接下來(lái)是文件的內(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' }, 
 //打包c(diǎn)ss文件
 { test: /\.scss$/, loader: 'style!css!sass?sourceMap'}, 
 //編譯sass文件
 { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192'} 
 //對(duì)圖片進(jìn)行打包
 ]
 },
 plugins: [
 new webpack.HotModuleReplacementPlugin()
 ],
 resolve: {
 //自動(dòng)擴(kuò)展文件后綴名
 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>

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

結(jié)果:

hello react&es2015&webpack!!!

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • React?Native?中處理?Android?手機(jī)吞字的解決方案

    React?Native?中處理?Android?手機(jī)吞字的解決方案

    這篇文章主要介紹了React?Native?中處理?Android?手機(jī)吞字的解決方案,作者在 React Native 0.67.4 環(huán)境下,編寫了一個(gè)小 demo 來(lái)復(fù)現(xiàn)這個(gè)問(wèn)題,需要的朋友可以參考下
    2022-08-08
  • react中的axios模塊你了解嗎

    react中的axios模塊你了解嗎

    這篇文章主要為大家詳細(xì)介紹了react中的axios模塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • React Ref Callback使用場(chǎng)景最佳實(shí)踐詳解

    React Ref Callback使用場(chǎng)景最佳實(shí)踐詳解

    這篇文章主要為大家介紹了React Ref Callback使用場(chǎng)景最佳實(shí)踐詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • react實(shí)現(xiàn)一個(gè)優(yōu)雅的圖片占位模塊組件詳解

    react實(shí)現(xiàn)一個(gè)優(yōu)雅的圖片占位模塊組件詳解

    這篇文章主要給大家介紹了關(guān)于react如何實(shí)現(xiàn)一個(gè)還算優(yōu)雅的占位模塊圖片組件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • 基于React實(shí)現(xiàn)下拉刷新效果

    基于React實(shí)現(xiàn)下拉刷新效果

    這篇文章主要介紹了如何基于react實(shí)現(xiàn)下拉刷新效果,在下拉的時(shí)候會(huì)進(jìn)入loading狀態(tài),文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • React創(chuàng)建對(duì)話框組件的方法實(shí)例

    React創(chuàng)建對(duì)話框組件的方法實(shí)例

    在項(xiàng)目開(kāi)發(fā)過(guò)程中,對(duì)于復(fù)雜的業(yè)務(wù)選擇功能很常見(jiàn),下面這篇文章主要給大家介紹了關(guān)于React創(chuàng)建對(duì)話框組件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • React中的Hooks路由跳轉(zhuǎn)問(wèn)題

    React中的Hooks路由跳轉(zhuǎn)問(wèn)題

    這篇文章主要介紹了React中的Hooks路由跳轉(zhuǎn)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 簡(jiǎn)化Cocos和Native交互利器詳解

    簡(jiǎn)化Cocos和Native交互利器詳解

    這篇文章主要為大家介紹了簡(jiǎn)化Cocos和Native交互利器詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 在react配置使用less的完美方案

    在react配置使用less的完美方案

    由于 create-react-app 使用 webpack 作為其模塊打包器,你需要修改 webpack 的配置來(lái)支持 .less 文件,這篇文章主要介紹了在react配置使用less的完美方案,需要的朋友可以參考下
    2024-04-04
  • Ant?Design?組件庫(kù)按鈕實(shí)現(xiàn)示例詳解

    Ant?Design?組件庫(kù)按鈕實(shí)現(xiàn)示例詳解

    這篇文章主要介紹了Ant?Design?組件庫(kù)按鈕實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪</P><P><BR>
    2022-08-08

最新評(píng)論

仙桃市| 望城县| 平远县| 淮北市| 昂仁县| 尚志市| 玉环县| 辉县市| 永城市| 济宁市| 余庆县| 肥东县| 灌南县| 漠河县| 神木县| 巴塘县| 湖州市| 腾冲县| 封丘县| 清水县| 福贡县| 萍乡市| 张北县| 罗山县| 永昌县| 西华县| 清镇市| 阿城市| 溆浦县| 镇雄县| 康保县| 青阳县| 商洛市| 古交市| 安阳市| 精河县| 亳州市| 沙坪坝区| 偏关县| 芦山县| 佛坪县|