日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
webpack模塊化管理和打包工具的示例分析

小編給大家分享一下webpack模塊化管理和打包工具的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁(yè)美工、網(wǎng)站程序員、網(wǎng)頁(yè)設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷人員及形象策劃。承接:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫(kù)開發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺(tái)等全方位的服務(wù)。

Webpack簡(jiǎn)介

webpack是當(dāng)下最熱門的前端資源模塊化管理和打包工具。 它可以將許多松散的模塊按照依賴和規(guī)則打包成符合生產(chǎn)環(huán)境部署的前端資源。還可以將按需加載的模塊進(jìn)行代碼分隔,等到實(shí)際

需要的時(shí)候再異步加載。通過 loader  的轉(zhuǎn)換,任何形式的資源都可以視作模塊,比如 CommonJs 模塊、 AMD 模塊、 ES6 模塊、CSS、圖片、 JSON、Coffeescript、 LESS 等。

模塊系統(tǒng)的演進(jìn)

這是最原始的 JavaScript 文件加載方式,如果把每一個(gè)文件看做是一個(gè)模塊,那么他們的接口通常是暴露在全局作用域下,也就是定義在 window  對(duì)象中,

不同模塊的接口調(diào)用都是一個(gè)作用域中,一些復(fù)雜的框架,會(huì)使用命名空間的概念來組織這些模塊的接口,典型的例子如 YUI  庫(kù)。

這種原始的加載方式暴露了一些顯而易見的弊端:

  1. 全局作用域下容易造成變量沖突

  2. 文件只能按照  

    創(chuàng)建entry.js

    // entry.js : 在頁(yè)面中打印出一句話
    document.write('It works.')

    然后編譯 entry.js并打包到 bundle.js文件中

    // 使用npm命令 
    webpack entry.js bundle.js

    使用模塊

    1.創(chuàng)建模塊module.js,在內(nèi)部導(dǎo)出內(nèi)容

    module.exports = 'It works from module.js'

    2.在entry.js中使用自定義的模塊

    //entry.js
    document.write('It works.')
    document.write(require('./module.js')) // 添加模塊

    加載css模塊

    1.安裝css-loader

    npm install css-loader style-loader --save-dev

    2.創(chuàng)建css文件

    //style.css
    body { background: yellow; }

    3.修改 entry.js:

    require("!style-loader!css-loader!./style.css") // 載入 style.css
    document.write('It works.')
    document.write(require('./module.js'))

    創(chuàng)建配置文件webpack.config.js

    1.創(chuàng)建文件

    var webpack = require('webpack')
    
    module.exports = {
     entry: './entry.js',
     output: {
      path: __dirname,
      filename: 'bundle.js'
     },
     module: {
      loaders: [
        //同時(shí)簡(jiǎn)化 entry.js 中的 style.css 加載方式:require('./style.css')
       {test: /\.css$/, loader: 'style-loader!css-loader'}
      ]
     }
    }

    2.修改 entry.js 中的 style.css 加載方式:require('./style.css')

    3.運(yùn)行webpack

    在命令行頁(yè)面直接輸入webpack

    插件使用

    1.插件安裝

    //添加注釋的插件
    npm install --save-devbannerplugin

    2.配置文件的書寫

    var webpack = require('webpack')
    
    module.exports = {
      entry: './entry.js',
      output: {
        path: __dirname,
        filename: 'bundle.js'
      },
      module: {
        loaders: [
          //同時(shí)簡(jiǎn)化 entry.js 中的 style.css 加載方式:require('./style.css')
          {
            test: /\.css$/,
            loader: 'style-loader!css-loader'
          }
        ],
        plugins: [
          //添加注釋的插件
          new webpack.BannerPlugin('This file is created by zhaoda')
        ]
      }
    }

    3.運(yùn)行webpack

    // 可以在bundle.js的頭部看到注釋信息
    /*! This file is created by zhaoda */

    開發(fā)環(huán)境

    webpack

    --progress : 顯示編譯的進(jìn)度

    --colors : 帶顏色顯示,美化輸出

    --watch?。骸¢_啟監(jiān)視器,不用每次變化后都手動(dòng)編譯

    12.4.7.1. webpack-dev-server

    開啟服務(wù),以監(jiān)聽模式自動(dòng)運(yùn)行

    1.安裝包

    npm install webpack-dev-server -g --save-dev

    2.啟動(dòng)服務(wù)

    實(shí)時(shí)監(jiān)控頁(yè)面并自動(dòng)刷新

    webpack-dev-server --progress --colors

    自動(dòng)編譯

    1.安裝插件

    npm install --save-dev html-webpack-plugin

    2.在配置文件中導(dǎo)入包

    var htmlWebpackPlugin = require('html-webpack-plugin')

    3.在配置文件中使用插件

    plugins: [
        //添加注釋的插件
        new webpack.BannerPlugin('This file is created by zhaoda'),
        //自動(dòng)編譯
        new htmlWebpackPlugin({
          title: "index",
          filename: 'index.html', //在內(nèi)存中生成的網(wǎng)頁(yè)的名稱
          template: './index.html' //生成網(wǎng)頁(yè)名稱的依據(jù)
        })
      ]

    4.運(yùn)行項(xiàng)目

    webpack--save-dev

    以上是“webpack模塊化管理和打包工具的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


    網(wǎng)站名稱:webpack模塊化管理和打包工具的示例分析
    網(wǎng)址分享:http://www.dlmjj.cn/article/gcgcpp.html