zoukankan      html  css  js  c++  java
  • 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值

     

  • 相关阅读:
    转载--C 的回归
    学嵌入式不是你想的那么简单--转载
    scanf() 与 gets()--转载
    getchar、getch、getche 与 gets()
    scanf()函数原理
    C/C++头文件一览
    再论函数指针、函数指针数组
    初论函数指针、指针函数、指针的指针
    转载--一个“码农”自述的血泪史:当了35年程序员,我最大的遗憾就是没抓住机遇转行
    转载--协方差的意义和计算公式
  • 原文地址:https://www.cnblogs.com/mengfangui/p/7509827.html
Copyright © 2011-2022 走看看