webpack配置详解 - 29.entry

入口起点(entry point)指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的。

文档: https://www.webpackjs.com/concepts/entry-points/

 

1.文件结构

 

 

2.代码

add.js

function add(x, y) {
    return x + y
}

export default add

count.js

function count(x, y) {
    return x - y
}

export default count

index.js

// import add from './add'
// import count from './count'

console.log('index.js文件加载了')

// console.log(add(1, 2))
// console.log(count(5, 3))

webpack.config.js

const {resolve} = require('path')
const htmlWebpackPlugin = require('html-webpack-plugin')

/*
    entry: 入口起点
        1. string --> './src/index.js'
            打包形成一个chunk。 输出一个bundle文件 (built.js)。
            此时,chunk 的默认名称是 main

        2. array  --> ['./src/index.js', './src/add.js']
            多入口
            所有入口文件最终只会形成一个chunk, 输出出去只有一个bundle文件。
                --> 只有在HMR功能中让html热更新生效~

        3. object -->
            多入口
              有几个入口文件,就形成几个chunk,就会输出几个bundle文件
              此时chunk的名称是 key

        --> 特殊用法
            {
              // 所有入口文件最终只会形成一个chunk, 输出出去只有一个bundle文件。
              index: ['./src/index.js', './src/count.js'],
              // 形成一个chunk,输出一个bundle文件。
              add: './src/add.js'
            }

* */

module.exports = {
    // entry: './src/index.js',//string
    // entry: ['./src/index.js','./src/count.js'],//array
    // entry: {index: './src/index.js', add: './src/count.js'},//object
    entry: {
        index: ['./src/index.js', './src/count.js'],
        add: './src/add.js'
    },//特殊用法
    output: {
        filename: "[name].js",
        path: resolve(__dirname, 'build')
    },
    plugins: [new htmlWebpackPlugin()],
    mode: 'development'
}

3.打包

$ webpack

 

 

 

 

posted @ 2022-09-09 11:16  Evengod  阅读(42)  评论(0编辑  收藏  举报