webpack在构建时会在内部从一个或多个入口点(entry pointer)开始构建依赖图

单入口

webpack.config.js

  1. module.exports = {
  2. entry: '/path/your/main.js' // 简写
  3. entry: { // 对象写法
  4. main: '/path/your/main.js'
  5. }
  6. entry: ['/path/your/main1.js','/path/your/main2.js'] // 数组形式
  7. }
  8. // 传入字符串、字符串数组则输出文件默认名称为main,对象则按照key定义

多文件入口

  1. module.exports = {
  2. entry: {
  3. app: '/path/your/main1.js',
  4. main: '/path/your/main2.js',
  5. app1: { // 使用描述符对象
  6. import: '/path/your/main3.js',
  7. filename: 'main3.js'
  8. },
  9. app2: () => fetchEntryFile() // 使用函数动态获取入口文件,在每次make时被调用
  10. },
  11. }
  1. 其中对象形式可灵活配置<br />entry: {<br />dependOn:当前entry所依赖的入口文件,必须在该entry加载前加载<br />filename:指定输出的文件名<br />import:启动时需加载模块<br />library:为当前entry构建一个library<br />runtime:运行时chunk的名字,(未知)<br />publicPath:该entry的输出文件在被浏览器或服务器引用时添加的路径前缀<br />}
  1. module.exports = {
  2. entry: {
  3. a: './src/a.js',
  4. app: {
  5. dependOn: 'a',
  6. import: './src/app.js'
  7. }
  8. }
  9. }

:::warning tips:
1. runtime与dependOn不能在同一入口上使用;
2. runtime不能指向一个已存在的入口;
3. dependOn不能循环使用 :::

  1. module.exports = {
  2. entry: {
  3. app: './src/main.js',
  4. vendor: './src/vendor.js'
  5. }
  6. }