entarnels:外部扩展,我们把项目中的包,从打包的文件中单独分离出去。

externals:{
	'自定义属性名':'包生成的全局变量'
}

webpack.ProVidePlugin:这样的配置可以让我们在项目中不用在去每个地方都import导入一下。

webpack.providePlugin({
	"要在文件中使用的变量名":"安装包的名字"
})

resolve.extensions:在import引入的时候不用加后缀。

resolve:{
	extensions:['.js','.json','.xml']
}

resolve.alias:可以配置一个绝对路径,在引入资源文件中,引入的时候@就代表src的绝对路径

resolve{
	alias:{
	"@":path.resolve(_dirname,'../src')
	}
}

resolve.modules:当遇到写相对路径时,优先取src中查找,没有再去node_modules查找

resolve:{
modules:[path.resolve(__dirname,'./src/utils'),"node_modules"]
}

module.noParse:不依赖其他任何的包,提升一些构建速度。

module:{
	noParse:"jquery|lodash"
}

webpack.DefinePlugin:定义在编译阶段加上的一些全局变量

plugins:[
	new webpack.DefinePlugin({
	BASEURL:"true",
	BASEURL1:"false",
	})
]

webpack.IgnorePlugin:在打包时忽略

devtool:可以有助于调试

devtool:"soure-map" //eval-cheap-module-soure-map

thrad-loader:多进程打包;可以构建打包速度

webpack.IgnorePlugin:在打包时忽略指定文件

optimization.solitChunks:这是一个分包的位置

optimzation:{
	splitChunks:{
		chunks:"all",
		minisize:5000,// 代表值KB
		minChunks:1,
		cacheGroups:{
			jquery:{
			name:"",
			test:/jquery/
			chunks:'all'	
			 	}
			}
		}	
	},
	DllPlugin:{
		
		
	}

Q.E.D.


学而不厌 不耻下问