zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    UVALive 7509 Dome and Steles
    HDU 5884 Sort
    Gym 101194H Great Cells
    HDU 5451 Best Solver
    HDU 5883 The Best Path
    HDU 5875 Function
    卡特兰数
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    Spark Scala Flink版本对应关系
  • 原文地址:https://www.cnblogs.com/zmztya/p/14716421.html
Copyright © 2011-2022 走看看