npm install -g webpack webpack-cli
最新的webpack
支持零配置使用,默认入口为当前目录下的src
中的index.js
文件,默认打包输出的目录为dist
目录,默认打包模式mode
为development
webpack-test
webpack-test
文件下新建一个 src
目录,再src
下新建一个 index.js
文件webpack-test
目录,运行 webpack
webpack
会在 webpack-test
目录下生成一个 dist
目录。在 webpack-test
目录下新建一个 webpack.config.js
,返回的是一个配置对象。html
字段名 | 可选值 | 说明 | ||
---|---|---|---|---|
mode | "development" \ | "production" \ | "none" | 表示打包类型,为 production 时会压缩代码 |
entry | 字符串 \ | 对象 | 打包入口文件 | |
output | 对象 | 配置打包后文件夹和格式化文件名等 |
在src
目录下新建a.js
,b.js
// 单一入口 module.exports = { entry:'./src/a.js' } // 多入口 module.exports = { entry:{ a:'./src/a.js', b:'./src/b.js' } }
在多入口时,会在 dist 目录下打包 a.js
和 b.js
webpack
// 单入口情景 module.exports = { entry:'./src/a.js', output:{ filename:'[name].[hash:7].js' } } // 打包后相似 main.abdfa13.js // 多入口情景 module.exports = { entry:{ a:'./src/a.js', b:'./src/b.js' }, output:{ filename:'[name].[hash:7].js' } } // 打包后生成相似 a.abdfa13.js , b.abdfa13.js
在配置文件中,有几个可用的参数,如hash
当前打包随机字符串,name
对应entry
中的属性名(但单入口默认为main
),ext
对应loader
中的文件后缀名。
const path = require('path'); module.exports = { entry:'./src/a.js', output:{ filename:'[name].[hash:7].js', path:path.resolve(__dirname,'./dist') } }
好比最后项目访问路径为:https://haokur.com/webpack-test/index.html
,则须要配置web
const path = require('path'); module.exports = { entry:'./src/a.js', output:{ filename:'[name][hash:7].js', path:path.resolve(__dirname,'./dist/webpack-test'), publicPath:'/webpack-test/' } }
发布时,则能够将 dist 下面的 webpack-test 目录部署到服务器的根目录下面。