下面常见的配置是说现在项目中看到的常见的入口字符串写法只有一个入口:{client:path.join(__dirname,'../entry-client.js')}outputclient.jsobject写法这种写法可以配多个entry条目:{client:path.join(__dirname,'../entry-client.js'),clientA:path.join(__dirname,'../entry-client.js'),}输出client.jsclientA.js数组写法不能复用相同的js,如上,会以主名作为文件名入口:['./main.js']outputmain.js动态写法可以这样写,当你npmrunbuild的时候,你会看到console等待5秒才开始build,说明这个delayer是有效的entry:()=>{returnnewPromise((res,rej)=>{setTimeout(()=>{console.log('5秒内构建')res({a:'./main.js',b:'./main.js',})},5000)})},keyvalue用法比如这个client,对应输出的时候,valuehere[name]variableoutput:{path:path.resolve(__dirname,'../dist'),//哪个文件输出到Folderfilename:'[name].js'//这个[name]},这里的输出对应入口配置的入口。如果对象写法有多个,这里会输出多个:{path:path.resolve(__dirname,'../dist'),//path,outputfilename:'[name].js',//what是输出js的名称,对应入口的keylibrary:'',libraryTarget:''},common通过filename配置输出的文件名,一般为[name.].js//上面解释过,[name]是内置变量,并且其他[id]-Chunk唯一标识,从0开始[name]-Chunk名称[hash]-Chunk唯一标识Hash值[chunkhash]-Chunk内容Hash值所以,这个filename你也可以这样写filename:'[id]-[name]-[hash].js',path必须是字符串类型的绝对路径path:'/dabaohou'但是我发现这样写的话,在这个项目下是不会输出的,所以一般都是as按照写路径:path.resolve(__dirname,'dist_[hash]')注意这里有一个内置的变量hash,path.resolve返回的是拼接的路径,path.join好像可以。publicPath这里一般是通用的,就上面两个,先介绍一下后面两个之前的一点。一般webpack打包的js都是匿名自执行函数(()=>{return{name:'jack',age:24,};})();没有赋值操作,所以你的页面引入了这个js,不能用。这时候就是library和libraryTarget1的函数
