Google 扩展开发的时候 对于文件编译需要多入口输出。采用node 文件读取机制 自动获取文件地址,来进行多入口编译。
entry
webpack 在进行多入口打包的时候 是通过 entry 的配置进行的。当我们把 eltry 配置成对象的形式的时候,对象的每一项就是一个入口。
module.exports = {
//...
entry: {
home: './home.js',
about: './about.js',
contact: './contact.js',
},
};
我们来看一下 entry 所支持的写法
entry 支持 string | EntryObject | string[] | Promise
当我们传入的是一个 EntryObject 就形成了多入口打包
/**
* The entry point(s) of the compilation.
*/
entry?:
| string
| (() => string | EntryObject | string[] | Promise<EntryStatic>)
| EntryObject
| string[];
entry-resolve.ts
我们将采用独立 entry-resolve.ts 文件 来返回 EntryObject
- fs.readdirSync 异步读取 目录下的文件
import fs from "fs"
import webpack from "webpack"
import htmlPathResolve from "./html-dir-entry"
export default function entryResolve(): webpack.EntryObject | string[] {
const tsPath = "./src/ts/"
const tsList