中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node.js學習之webpack打包react最簡單用法

發布時間:2020-04-09 09:05:31 來源:網絡 閱讀:6820 作者:lixiaoyu1223 欄目:web開發

研究一天多也沒弄出來個毛,今天早上來到隨便一試,嘿,結果成了。最簡潔最簡單的使用方法,記錄下來。

首先,安裝webpack命令:

$ npm install webpack -g

全局安裝,可以在cmd中使用webpack命令。

然后創建一個項目,項目名稱webpack,我這里用的是webstorm11.創建成功之后cmd進入項目根目錄,執行命令:

$ npm init

這個命令會創建一個package.json的文件,是整個項目的配置文件,添加上webpack的依賴包:

"devDependencies": {
  "jsx-loader": "^0.12.2",
  "css-loader": "^0.15.0",
  "style-loader": "^0.12.4",
  "react-hot-loader": "^1.1.1",
  "webpack": "^1.5.1",
  "webpack-dev-server": "1.6.4"
},

這些包中的各種loader 是對不同文件格式進行打包的支持。

然后安裝這些包:

$ npm install

安裝完成之后我們先新建一些文件,

根目錄下建一個src文件夾,

src文件夾中建一個項目入口文件,我這里建的是index.js.


index.js:

const React = require('react');
const ReactDom = require('react-dom');
const View = require('./content');

ReactDom.render(<View/>,document.body);


在跟index.js同目錄下,我建了一個content.js用來寫react組件。


content.js:

const React = require('react');

class View extends React.Component{
  render(){
    return <p>看看有沒有內容</p>
  }
}

module.exports = View;



然后在根目錄下新建一個webpack.config.js,這個文件是對webpack的配置。

內容如下:

var webpack = require('webpack');
var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js');
module.exports = {
  //插件項
  plugins: [commonsPlugin],
  //頁面入口文件配置
  entry: {
    index : './src/index.js'
  },
  //入口文件輸出配置
  output: {
    path: './lib/',
    filename: '[name].js'
  },
  module: {
    //加載器配置
    loaders: [
      { test: /\.js$/, loader: 'jsx-loader?harmony' }
    ]
  },
  //其它解決方案配置
  resolve: {
    root: 'D:/workproject/webpack/src', //絕對路徑
    extensions: ['', '.js', '.json', '.scss'],
    alias: {
      AppStore : 'js/stores/AppStores.js',
      ActionType : 'js/actions/ActionType.js',
      AppAction : 'js/actions/AppAction.js'
    }
  }
};

各個節點的作用都寫了注釋,插件項我還沒弄明白是什么意思,頁面入口文件配置就是項目的入口文件,入口文件輸出配置是對打包之后的文件的保存位置,我這里配置到了根目錄/lib/文件夾下,如果當前沒有這個文件夾,打包的時候會自動新建。

加載器配置是對要打包的不同文件格式使用不同的加載器去打包,這一塊是很重要的,

寫完這個配置文件之后就可以執行命令打包了:

$ webpack

執行這個命令時會自動讀取webpack.config.js按照配置進行打包。

如果是執行這個命令后面不帶參數的話必須每修改一次文件就要重新手動執行一下這個命令,這樣很麻煩,我們可以在命令后加一個參數 -w

$ webpack -w

這樣在我們每次修改完文件內容并保存的時候會自動編譯,就不用每次再手動執行一次了。


打包完之后我們會發現在項目根目錄下多出了一個lib文件夾,文件夾里有個index.js,那是配置中的入口文件輸出配置中寫好的

//入口文件輸出配置
  output: {
    path: './lib/',
    filename: '[name].js'
  },

path 是輸出路徑,filename 是輸出名字,[name] 是原名輸出,也可以指定名字,如果指定一個固定的名字,可以

filename: 'build.js'

這樣直接寫,如果有多個入口文件,可以

filename: '[name].build.js'

到時候輸出的文件名就是index.build.js.我這個項目里輸出的還是原來的名字:index.js

打包好之后,我們在根目錄下新建一個index.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript" src="lib/common.js" charset="utf-8"></script>
<script type="text/javascript" src="lib/index.js" charset="utf-8"></script>
</body>
</html>

把兩個文件都引入進去。common.js 我還沒弄明白是什么。 lib/index.js 就是我們用webpack打包過的文件,是自動生成的。

然后就可以直接雙擊index.html在瀏覽器中查看結果。

本文參考http://www.jianshu.com/p/b95bbcfc590d 更多內容稍后補充。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巢湖市| 茌平县| 黔西| 延津县| 武宁县| 乌兰察布市| 柏乡县| 新源县| 淮北市| 天峨县| 宣威市| 顺平县| 福安市| 安阳县| 水富县| 台中县| 鄂托克前旗| 陆丰市| 邻水| 合川市| 和田县| 黄大仙区| 阿拉善左旗| 铅山县| 武宁县| 嘉义市| 瑞丽市| 临高县| 宜宾市| 陆川县| 南和县| 江孜县| 芜湖市| 遵义市| 郯城县| 耿马| 治县。| 阜城县| 嘉禾县| 滦平县| 剑河县|