webpack 之(25) output配置详解

复制代码
module.exports = {
  entry:'./src/index.js'
  output: {
    //文件名称(指定名称+目录)
    filename:'js/[name].js'
    //输出文件目录(将来所有资源输出的公共目录)
   path:resolve(__dirname,'build'),
   // 一般是生产环境,所有资源引入公共路径前缀 --->'imgs/a.jpg'-->'/imgs/a.jpg'
   publicPath:'/',
   chunkFilename:'js/[name]_chunk.js',//非入口chunk的名称
   library:'[name]',   //整个库向外暴露的变量名
//libraryTarget:'window' //变量名添加到哪个 browser
//libraryTarget:'global' 变量名添加到哪个上 node
libraryTarget: 'commonjs' 打包后变成 exports['main']= },
}
复制代码

 

 

什么是非入口chunk以及chunkFilename的作用分析?

 注释:import 和 optimization 两种方式 都会遵循 '[name]_chunk.js'的名称

 

 写了以后,先注释 chunkFilename ,然后打包 bulild 下多了 0.js文件,这时候打包是遵循的 filename规则

但是为什么是0.js呢?

   因为chunk都属于入口,所以默认都是main.js  ,那么import也会形成新的chunk,如果也是main,那么就冲突了,所以webpack就采用命名,若还有就是 1,2等等

   发现0.js不好看,所以就用到了chunkFilename,采用后,打包后的文件名为 0_chunk.js

 

library的作用?

 打包时向外暴露出去的变量,因为打包后的文件是main.js所以暴露出去的也是main变量名

那么外界引入这个js文件时,就能得到main这个变量

 

 

 

 

libraryTarget的作用?

把这个变量添加在那个对象下,比如window

 

 

posted @   zmztyas  阅读(278)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示