webpack entry和output配置属性
生活随笔
收集整理的这篇文章主要介绍了
webpack entry和output配置属性
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1、entry
entry的三种配置方式:
(1)传递字符串:
单个入口语法:传递一个字符串
entry: './src/js/main.js',
(2)传递数组
将创建“多个主入口(multi-main entry),并且将它们的依赖导向(graph)到一个“chunk”时。
entry: ['./src/js/main.js','./src/js/a.js'],示例,webpack.config.js文件为:
module.exports = {//打包入口entry: ['./src/js/main.js','./src/js/a.js'],//打包后的文件 output: {//不加__dirname 会报错//path:__dirname +'./dist/js',//filename:'bundle.js'//以上2行window下报错 path: __dirname,filename: './dist/js/bundle.js'} }执行命令:
npm run webpack效果为文件合并到一个文件中了,如下:
(3)传递对象
webpack.config.js文件为:
module.exports = {//打包入口 entry: {main: './src/js/main.js',a: './src/js/a.js'},//打包后的文件 output: {//不加__dirname 会报错//path:__dirname +'./dist/js',//filename:'bundle.js'//以上2行window下报错 path: __dirname,//注意:使用[name]确保每个文件名都不重复filename: './dist/js/[name].js'} }
注意:
你应该使用以下的替换方式来确保每个文件名都不重复。
[name] 被 chunk 的 name 替换。
[hash] 被 compilation 生命周期的 hash 替换。
[chunkhash] 被 chunk 的 hash 替换。
2、output
output.filename
指定硬盘每个输出文件的名称。在这里你不能指定为绝对路径!
文件hash码:
module.exports = {//打包入口 entry: {main: './src/js/main.js',a: './src/js/a.js'},//打包后的文件 output: {//不加__dirname 会报错//path:__dirname +'./dist/js',//filename:'bundle.js'//以上2行window下报错 path: __dirname,//注意:使用[name]确保每个文件名都不重复filename: './dist/js/[name]-[hash].js'} }执行命令:
npm run webpack结果:
[hash] 每个文件的hash都一样,文件的hash为打包的hash。
module.exports = {//打包入口 entry: {main: './src/js/main.js',a: './src/js/a.js'},//打包后的文件 output: {//不加__dirname 会报错//path:__dirname +'./dist/js',//filename:'bundle.js'//以上2行window下报错 path: __dirname,//注意:使用[name]确保每个文件名都不重复filename: './dist/js/[name]-[chunkhash].js'} }
使用[chunkhash] 文件的hash都不一样,也与打包hash不一样,这里的hash是文件的MD5值。
总结
以上是生活随笔为你收集整理的webpack entry和output配置属性的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 深入理解JavaScript系列(1):
- 下一篇: 攻击技术还原:维基解密是如何遭到黑客攻击