1. 基本安裝及命令html
npm config set registry https://registry.npm.taobao.org // 淘寶鏡像
npm install webpack-cli -g // 安裝以後才能 webpack -vjquery
webpack index.js -o out.js // 打包指定文件 指定輸出路徑及名稱
webpack --mode development index.js -o out.js // 指定打包方式爲開發模式(默認爲產品模式:去除console命令及其餘未引用代碼)webpack
( src - dist 4.0版本默認不需配置《代碼資源放置在src,生成的代碼資源放置在dist 》,但也能夠增長配置文件 webpack.config.js )web
經常使用的 webpack.config.jsnpm
var path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'out') } };
webpack --mode development // 只用 webpack,則默認爲 production 模式,去除多餘部分及調試提示ide
2. 合併打包ui
var path = require('path'); module.exports = { entry: ['./src/a.js','./src/b.js','./src/c.js'], output: { filename: 'bundle.js', path: path.resolve(__dirname, 'out') } };
3. 分塊打包url
var path = require('path'); module.exports = { entry: { a:'./src/a.js', b:'./src/b.js', c:'./src/c.js' }, output: { filename: '[name].build.js', path: path.resolve(__dirname, 'out') } };
4. 配置屬性爲開發模式 mode: developmentspa
5.url-loader 處理小圖片.net
npm init
npm install url-loader --save
npm install file-loader --save // 圖片尺寸超過限制時使用
var path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', publicPath: './out/', // 最後的 / 不可少,兩個 out 對應,確保 生成的大文件圖片路徑正確 path: path.resolve(__dirname, 'out') }, mode:'production', module: { rules: [ { test: /\.(png|jpg|gif)$/, use: [ { loader: 'url-loader', options: { limit: 8192 } } ] } ] } };
6. 引入 jquery expose-loader
npm install expose-loader --save-dev
npm install jquery --save
var path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', publicPath: './out/', // 最後的 / 不可少,兩個 out 對應,確保 生成的大文件圖片路徑正確 path: path.resolve(__dirname, 'out') }, mode:'production', module: { rules: [ { test: /\.(png|jpg|gif)$/, use: [ { loader: 'url-loader', options: { limit: 8192 } } ] }, { test: require.resolve('jquery'), loader: 'expose-loader?jQuery!expose-loader?$!expose-loader?scrollable' } ] } };
使用 import $ from 'expose-loader?$!jquery';
相關連接: