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

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

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

小結放在前:這篇文章主要是為下一篇的react提前鋪好路,webpack是一個前端資源模塊化管理和打包工具,說白了就是方便我們管理自己的常用的一些代碼,比如你開發(fā)中用到sass以及jade同時用到es6,開發(fā)時你不可能改動某個地方就挨個命令去轉換在到瀏覽器去看效果,那樣效率是非常低的。所以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主要結構分三個:入口文件配置(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)境吧!

先參考我的目錄結構

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

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

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 
//自動刷新修改后的結果,在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,就會顯示出對應界面

結果:

hello react&es2015&webpack!!!

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關文章

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

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

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

    react中的axios模塊你了解嗎

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

    React Ref Callback使用場景最佳實踐詳解

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

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

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

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

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

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

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

    React中的Hooks路由跳轉問題

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

    簡化Cocos和Native交互利器詳解

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

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

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

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

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

最新評論

中牟县| 伊吾县| 星子县| 澄迈县| 天津市| 运城市| 潍坊市| 年辖:市辖区| 烟台市| 彰化县| 淅川县| 桑日县| 铁岭县| 南木林县| 海城市| 江华| 嵊州市| 昌吉市| 溆浦县| 宜黄县| 安泽县| 滨州市| 开阳县| 壶关县| 绍兴县| 新沂市| 河津市| 商都县| 曲沃县| 阿克| 光山县| 乳源| 屯昌县| 阿拉善右旗| 陇南市| 安仁县| 汾阳市| 周宁县| 合江县| 新宁县| 宁远县|