欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

webpack entry和output配置属性

发布时间:2025/3/8 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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配置属性的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。