https://www.webpackjs.com/concepts/
* webpack 是靜態模塊打包器(module bundler),遞歸地構建依賴關系圖,查找需要的每個模塊,打包成一個或多個bundle。
* 配置文件, webpack.config.js, 從webpack v4.0.0, 可以不用引入一個配置文件。
* 入口(entry), 構建內部依賴圖的開始模塊。webpack會找出和入口起點有直接和間接依賴的其他模塊和庫。在配哦之文件中通過entry屬性配置, 可以配置一個或多個。默認值是./src。
```
module.exports = {
entry: './src/index.js'
}
```
* 出口(output), 輸出創建的bundles的位置,以及如何命名這些文件。默認值是 ./dist。 在配置文件中通過output屬性配置。
```
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
}
};
```
以上首先導入了path模塊, path是Node.js的基本模塊, 用來操作文件路徑。
* 生成(emit,emitted), 產生bundle文件 ,是“生產(produced)”或“釋放(discharged)”的特殊術語
* loader, 讓webpack能夠處理非JavaScript文件。可以將所有類型的文件轉換為webpack能夠處理的有效模塊。
在 webpack 配置中定義 loader 時,要定義在 module.rules 中,而不是 rules。
```
const path = require('path');
const config = {
output: {
filename: 'my-first-webpack.bundle.js'
},
module: {
rules: [
{ test: /\.txt$/, use: 'raw-loader' }
]
}
};
```
以上的作用是require()/import 語句中被解析為 '.txt' 的路徑時, 在打包之前,使用raw-loader轉換一下。
- test 屬性,標識應該被對應的loader進行轉換的某個或某些文件
- use屬性, 進行轉換時,使用哪個loader
* 插件(plugins), 執行范圍更廣的任務,包括打包優化、壓縮和重新定義環境中的變量等。
使用方式: 先require(), 再添加到 plugins組件中。
```
const HtmlWebpackPlugin = require('html-webpack-plugin'); // 通過 npm 安裝
const webpack = require('webpack'); // 用于訪問內置插件
const config = {
module: {
rules: [
{ test: /\.txt$/, use: 'raw-loader' }
]
},
plugins: [
new HtmlWebpackPlugin({template: './src/index.html'})
]
};
module.exports = config;
```
* 模式, 通過mode參數設置, development 或production,
```
module.exports = {
mode: 'production'
};
```
- 引入篇
- 基礎篇
- 快速入手
- 名詞解釋
- Vue語法
- Vue安裝
- Vue實例
- 模板語法
- 計算屬性和偵聽器
- Class與Style綁定
- 條件渲染
- 列表渲染
- 事件處理
- 表單輸入綁定
- 組件基礎
- 進階篇
- 常用模塊
- 單文件組件
- 快速學會Vue Router路由
- Vue Route 進階使用
- Vuex 與狀態管理
- Axios
- Mock.js
- data數據顯示在頁面
- Vue生命周期
- Vue按需加載組件
- 國際化
- 頁面加載進度條 -NProgress
- 自定義主題顏色
- 開發篇
- Vue入門——創建并運行一個Vue項目
- Vue + Element UI 項目創建
- 使用Vue ui項目創建工具在網頁中創建Vue項目
- Vue項目創建入門實例
- Vue CLI
- 創建項目
- 使用Visual Studio Code 開發Vue項目
- 高級篇
- 組件深入
- Vue+Element
- Vue + ElementUI 主題顏色切換
- 工具篇
- 在線代碼編輯器
- 開發工具(IDE,集成開發環境)
- npm(JavaScript包管理工具)介紹
- Node.js(npm)在Windows下安裝
- webpack介紹
- webpack快速實例
- webpack
- 快速入門實例
- 安裝
- 概念
- Nodejs
- 基礎
- npm
- 命令參考
- 命令
- 模塊安裝
- Babel
- 問題解決篇
- ERROR Failed to get response from https://registry.yarnpkg.com/vue-cli-version -marker
- Vue常見問題
- You are using the runtime-only build of Vue where the template compiler is not
- yarn 報unable to get local issuer certificate
- yarn There appears to be trouble with your network connection. Retrying
- Expected Boolean, got String with value "true".
- 項目篇
- 項目創建
- 項目設計
- 頁面
- 開發問題
- 后端
- Spring Boot + Activiti 工作流框架搭建之一
- Spring Boot + Activiti 工作流框架搭建之二
- 工作流
- Java流程框架
- Activiti
- 頁面風格
- green
- blue
- orange
- 參考篇
- 好的Git項目
- Vue的在線js
- 指令
- 開發說明
- JavaScript 高級
- export和import
- JS模塊化規范對比以及在Node.js的實現
- Storage
- ES2015
- scss
- CSS、Sass、SCSS