• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • WebPack(Ⅰ)

    一、什么是webpack?

    webpack是一個模塊化打包工具,利用遞歸算法,將后端代碼前端化。那么什么是模塊化呢?在現代化技術棧里面有四個概念:模塊化、工程化、組件化、全棧化。想要直到答案,請戳如下鏈接https://www.jianshu.com/p/ee88e9849a1b(引用他人)。

    二、首先要安裝node!

    webpack在使用的時候,要用到npm,那什么是npm(引用他人:http://www.dnodejs.com/what_is_npm.html),npm就是node的包管理工具,所以我們要先安裝node。去官網下載node安裝包,然后一步步安裝完成即可。如何檢測安裝node成功了呢?我們可以進行如下操作,如果安裝成功,則會顯示node的版本。

    三、npm的使用!

    • npm init:運行構建新項目的向導(其對應的就是package.json)
    • npm install module_name在項目中安裝一個模塊
    • npm install -g module_name:全局方式安裝一個模塊
    • npm install module_name -save:在項目中安裝一個模塊,并把此模塊添加到項目配置文件package.json中,作為項目開發依賴(devDependency)
    • npm list:列出項目中已安裝的所有模塊
    • npm list -g:列出系統中已安裝的所有模塊
    • npm remove module_name:從項目中移除已安裝的模塊
    • npm remove -g module_name:從系統的全局安裝中移除已安裝的模塊
    • npm remove module_name -save:從項目中移除已安裝的模塊,并從配置依賴中移除依賴關系
    • npm remove module_name -save-dev:從項目中移除已安裝的模塊,并從配置依賴中移除開發依賴(devDependency)關系
    • npm update module_name:更新指定的已安裝模塊的版本
    • npm update -g module_name:更新指定的全局那幢模塊的版本
    • npm -v:顯示npm包管理器的當前版本
    • npm adduser username:在npmjs.org創建一個賬戶
    • npm    whoami:顯示你在npmjs.org上的賬戶詳細資料
    • npm publish:發布自己開發的模塊到npmjs.org,要發布模塊必須先有賬戶

    四、npm命令在哪里配置?

    (1)首先我們建立一個文件夾app-test

    (2)我們利用命令行,進入這個文件夾,輸入命令,npm init,我們會發現app-test文件夾下面會有一個package.json文件。如下是輸入命令的界面顯示:

    (3)打開package.json文件,我們的npm命令的配置再scripts里面進行,如何讓配置,我們后面會有所講解,其內容如下:

    五、webpack在項目中如何啟動?

    (1)我們首先要安裝webpack,安裝webpack的方法有全局安裝和局部安裝,在這里我們采用局部安裝,因為局部安裝更有利于項目的遷移,我們在命令行輸入npm install webpack --save-dev,這是我們會發現app-test文件夾下面多了一個文件node-modules,然后package.json里面多了一項devDependencies。此時package.json內容如下:

    (2)然后我們在scripts里面輸入如下內容:


    然后用命令行輸入npm run build會出現如下錯誤:

    為什么會出現如下錯誤呢?因為webpack4已經把命令行CLI分離出去了,安裝webpack的時候不會自動安裝,而webpack3里面集成了CLI,解決該錯誤,我們就在命令行輸入:npm install webpack-cli --save-dev。該命令是用來安裝webpack-cli的。

    (3)webpack-cli安裝成功以后再運行命令npm run build又會出現如下的錯誤:

    出現此錯誤的原因是因為我們在進行命令配置的時候,沒有指定要打包文件的路徑(即入口),也沒有指定被打包好的文件的存放路徑(即出口),所以我們需要指定出口和入口。我們建立一個test.js文件作為測試文件,我們在里面寫入console.log("nihao");

    (4)為了解決上述的問題,我們來了解一下webpack配置文件webpack.config.js文件,為什么使用該文件呢?大多數文件需要很復雜的設置,webpack支持該配置文件,這比在終端輸入大量的命令要高效的多,所以我們創建一個取代以上使用CLI選項方式的配置文件。下面我們來創建一個webpack.config.js配置文件。

    (1)webpack.config.js作為一個主配置文件,就需要暴露在全局下面。

    (2)然后去命令行運行npm run build,又出現了如下錯誤:

    根據錯誤提示信息,就是出口文件的路徑必須是絕對路徑。

    (3)那么如何保證絕對路徑呢?我們可以利用node里面的path。


    (4)下來我們運行npm run build命令就不會出現錯誤,并且在app-test文件夾下面多了一個build文件夾,build文件夾下面是打包以后的bundle.js文件,成功以后的界面展示如下:


    (5被打包的文件test.js里面的內容是console.log(“nihao");    打包好的文件bundle.js的文件內容如下所示:

    !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){console.log("nihao")}]);

    (6)在app-test文件夾下面建立一個index.html文件,將bundle.js引入,然后用瀏覽器打開,在控制臺就會看見輸出結果。

    微總結:這是我們在從來未接觸過webpack的情況下,進行最簡單的打包,本次熟悉了webpack的簡單命令,還認識了package.json文件,webpack.config.js文件。


    版權聲明:本文為zhanghuali0210原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/zhanghuali0210/article/details/80926564

    智能推薦

    webpack

    1.初識webpack Webpack簡介 webpack是什么 webpack能干什么 2.五個核心概念 入口(entry) 出口(output) 配置(module) 插件(plugins) 模式(mode) 3.webpack 初體驗 初始化配置 初始化package.json 下載并安裝 webpack 輸入指令 編譯打包應用 1. 創建webpack.config.js文件 2. 運行指...

    webpack

    webpack 1、entry:入口文件,三種引入入口文件的方式 entry:path.resolve(_dirname, './src/index.js'),//單個入口文件,這種寫法相當于下面第二種寫法 entry:{main:'./src/index.js'}, entry:['./src/index.js','./src/hello.js'], //可以多個入口文件,可以分離app或者作為...

    webpack

    環境參數: Nodejs 10版本以上 webpack 4.26版本以上 第 1  章:webpack  簡介 1.1 webpack  是什么 webpack 是一種前端資源構建工具,一個靜態模塊打包器(module bundler)。 在 webpack 看來, 前端的所有資源文件(js/json/css/img/less/...)都會作為模塊處理。 它將根據模塊...

    webpack

    1.webpack是什么? 官方網站:https://webpack.js.org/ 中文網站:https://www.webpackjs.com/ 本質上,webpack 是一個現代 JavaScript 應用程序的靜態模塊打包器(module bundler)。當 webpack 處理應用程序時,它會遞歸地構建一個依賴關系圖(dependency graph),其中包含應用程序需要的每個模塊,...

    webpack

    學習了一篇關于webpack的博客:入門webpack,希望可以和其他小伙伴一起學習 為什么要使用webpack? 在我們開發過程中,為了實現網頁豐富的功能,復雜的JS代碼和一大堆的依賴包隨之而來,wield簡化開發的難度,前端社區涌現了很多好的方法比如: 1.模塊化,讓我們可以把復雜的程序細分為小的文件 2.在js語言基礎上拓展的開發語言TypeScript,使我們能夠實現目前版本的JavaSc...

    猜你喜歡

    webpack

    webpack 一. 基礎 Webpack 是一個模塊打包器。它將根據模塊的依賴關系進行靜態分析,然后將這些模塊按照指定的規則生成對應的靜態資源。 代碼拆分 Webpack 有兩種組織模塊依賴的方式,同步和異步。異步依賴作為分割點,形成一個新的塊。在優化了依賴樹后,每一個異步區塊都作為一個文件被打包。 Loader Webpack 本身只能處理原生的 JavaScript 模塊,但是 loader...

    webpack

    不需要配置文件打包  webpack4以上版本 webpack-cli --entry ./app.js --output build.js  webpack4一下版本 webpack --entry ./app.js --output build.js  命令行直接使用webpack使用的是全局的webpack打包 package.json文件中...

    webpack

    1. mode 是指 webpack打包的環境: mode有幾個值:"production" | "development" | "none" 區別:如果mode是production,打包后的代碼會被壓縮成一行,不好看出都是什么 把mode設置為development 打包出來的文件就是很多行正常的情況 2. 使用loader打包靜態資...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    精品国产乱码久久久久久蜜桃不卡