webpack已经逐渐成为了主流的打包工具,它对于项目的管理具有极大的帮助,martin-webapck是根据webpack打包出来的代码进行自定义处理,是一个简易的打包工具:zap:
- 最基础的打包: 不引入模块, 单文件打包 😉
- 引入模块 😉
- 自制插件 😉
npm i @kvinc/martin-webpack -g
mwebpack --config xxx
属性 | 类型 | 说明 |
---|---|---|
entry | String Array Object |
打包文件的入口 |
output | object | 打包文件的出口, path为出口的路径, fileName为输出文件名称, 支持[name].[hash].js, name为main或者是对象的key, hash是文件内容的哈希值 |
resolveLoaders | String Array |
处理loader的路径 |
module | object | 文件处理loader的配置, {rules: [{ test: /.js$/, loader: 'babel-loader'}] |
plugins | Array | 插件集合 |
允许用户自制插件
插件格式:
1. 必须是构造函数或者是class
2. 原型下具有init方法
参数:
modules: 文件解析出来的一些信息
config: mwebpack配置文件
mwebpack: 全局打包对象
// 允许用户不用指定配置文件, mwebapck内部集成了初始配置
const HTMLWebpackPlugin = require('./plugins/html-webpack-plugin')
module.exports = {
entry: {
'app' : './src/index.js'
},
output: {
fileName: '[name].[hash].js'
},
plugins: [
new HTMLWebpackPlugin()
]
}