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值

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值