前端模組化的基本使用

2022-02-28 18:17:46 字數 4319 閱讀 1494

預設匯出

語法: export default (每個模組中只允許使用唯一的一次

export default

)預設匯入

語法: import ... from ...

按需匯出: export  let s1 = 10

按需匯入: import    from 『模組識別符號』

匯入語法:import 'aa.js'

① 新建空白目錄,並執行 npm init -y 命令,初始化包管理配置工具 package.json

② 新建 src 源**目錄

③ 新建 src -> index.html首頁

④ 初始化首頁基本結構

① 執行 npm install webpack webpack-cli -d 命令,安裝 webpack 相關的包

② 在專案根目錄中,建立名為 webpack.config.js 的 webpack 配置檔案

③ 在 webpack 的配置檔案中,初始化如下基本配置:

module.exports =

④ 在 package.json 配置檔案中的 scripts 節點下,新增 dev 指令碼如下:

"scripts": ,

⑤ 在終端執行 npm run build 命令,啟動 webpack 進行專案打包。

① webpack 的

4.x版本中預設約定

:打包的入口檔案

為 src  -> index.js

打包的輸出檔案

為 dist  -> main.js

② 如果要修改打包的入口與出口,可在 webpack.config.js 中新增如下配置資訊

:

const path = require('path') //

匯入node.js 中專門操作路徑的模組

module.exports =,

① 執行npm install webpack-dev-server -d 命令,安裝支援專案自動打包的工具

② 修改package.json -> scripts 中的

dev

命令如下

:

"scripts":

③ 將src -> index.html 中,

script

指令碼的引用路徑,修改為 「/buldle.js」

④ 執行 npm run dev 命令,重新進行打包

⑤ 在瀏覽器中訪問

位址,檢視自動打包效果

注意:webpack-dev-server 會啟動乙個實時打包的

伺服器webpack-dev-server 打包生成的輸出檔案,預設放到了專案根目錄中,而且是虛擬的

① 執行 npm install html-webpack-plugin -d 命令,安裝生成預覽頁面的外掛程式

② 修改 webpack.config.js 檔案頭部區域,新增如下配置資訊

const htmlwebpackplugin = require('html-webpack-plugin')

const htmlplugin = new htmlwebpackplugin()

③ 修改 webpack.config.js 檔案中向外暴露的配置物件,新增如下配置點

:

module.exports =

// package.json中的配置

// --open 打包完成後自動開啟瀏覽器頁面

// --host 配置 ip 位址

// --port 配置埠

"scripts":

在實際開發過程中,webpack 預設只能打包處理 .js字尾名結尾的模組

,其他非 .js字尾名結尾的模組,

需要呼叫 loader 載入器才可以正常打包,否則會報錯!

loader 載入器可以輔助

webpack

打包處理特定的檔案模組,比如

:1) less-loader可以打包處理

.less

相關檔案

2) sass-loader可以打包處理

.scss

相關檔案

3) url-loader 可以處理

css中與

url路徑相關的檔案

① 執行 npm i style-loader css-loader -d命令,安裝處理css檔案的

loader

② 在webpack.config.js的

module -> rules

陣列中,新增

loader

規則如下

:

module: ,

//test 表示匹配的檔案型別, use 表示對應要呼叫的 loader

]

}

注意: uses 陣列中指定的

loader

順序是固定的,多個

loader

的呼叫順序是從後往前呼叫

① 執行npm i postcss-loader autoprefixer -d命令

② 在專案根目錄中建立postcss的配置檔案

postcss.config.js,

並初始化如下配置

:

const autoprefuxer = require('autoprefixer') //

匯入自動新增字首的外掛程式

module.exports =

③ 在webpack.config.js的

module -> rules

陣列中,

修改css

的loader

規則如下

:

module: ,

]

}

① 執行npm i url-loader file-loader -d命令

② 在webpack.config.js的

module -> rules

陣列中,新增

loader

規則如下

:

module: ,

//其中 ? 之後的是 loader 的引數項

//limit 用來指定的大小,單位是位元組(byte),只有小於limit大小的,才會被轉為 base64 的

]

}

① 安裝babel轉換器相關的包:npm i babel-loader @babel/core @babel/runtime -d

② 安裝babel語法外掛程式相關的包:npm i @babel/preset-env @babel/plugin-transform-runtime @babel/plugin-proposal-class-properties -d

③ 在專案根目錄中,建立babel配置檔案

babel.config.js

並初始化基本配置如下:

module.exports =

④ 在webpack.config.js的

module -> rules

陣列中,新增

loader

規則如下:

module: 

]

}

① template 元件的模組化區域

② script 業務邏輯區域

③ style 樣式區域

① 執行npm i vue-loader vue-template-compiler -d命令

② 在webpack.config.js配置檔案中,新增

vue-loader

的配置如下:

const vueloaderplugin = require('vue-loader/lib/plugin')

module.exports =

]

}}

① 執行 npm i vue -s 安裝

vue② 在src -> index.js入口檔案中,通過

import vue from 『vue』來匯入vue建構函式

③ 建立vue的例項物件,並指定要控制的區域

④ 通過render函式渲染

根元件

//

1.匯入 vue 建構函式

import vue from 'vue'

//vue()

上線前需要通過webpack將應用整體打包,看通過

package.json

檔案配置打包命令:

"scripts": ,

前端模組化

前端模組化解決什麼問題?有了模組,我就可以很方便的使用別人的 想要什麼功能,就用載入什麼模組。但是,這樣做需要有乙個前提,那就是大家必須以同樣的方式編寫模組,否則就亂套了。所以組內需要有一套統一的模組規範。如何實現模組?1 物件字面量的變體 2 js設計模式的模組模式 3 採用成熟的庫檔案。前兩種方...

前端模組化

定義 具有相同屬性和行為的事物的集合 在前端中 將一些屬性比較類似和行為比較類似的內容放在同乙個js檔案裡面,把這個js檔案稱為模組 目的 為了每個js檔案只關注與自身有關的事情,讓每個js檔案各行其職 模組化 指的就是遵守commonjs規範,解決不同js模組之間相互呼叫問題 commonjs a...

前端模組化

當多人開發同一專案時,很容易就會產生命名衝突的問題,尤其是js檔案,任何的js引入順序的打亂都可能導致專案執行失敗,為了解決命名衝突的問題,在es6之前,可以使用函式閉包來解決這個問題。即可能像這樣 function 這樣雖然可以解決命名衝突的問題,但也使得 的復用性變得極差,因為其它的檔案將無法再...