zoukankan      html  css  js  c++  java
  • webpack之输出(二)

    配置 output 选项可以控制 webpack 如何向硬盘写入编译文件。注意,即使可以存在多个入口起点,但只指定一个输出配置。

    用法

    在 webpack 中配置 output 属性的最低要求是,将它的值设置为一个对象,包括以下两点:

    • filename 用于输出文件的文件名。
    • 目标输出目录 path 的绝对路径。
    const config = {
      // 此配置将一个单独的 bundle.js 文件输出到 /home/proj/public/assets 目录中。
      output: {
        filename: 'bundle.js',
        path: '/home/proj/public/assets'
      }
    };
    
    module.exports = config;

    多个入口起点

    如果配置创建了多个单独的 "chunk"(例如,使用多个入口起点或使用像 CommonsChunkPlugin 这样的插件),则应该使用占位符(substitutions)来确保每个文件具有唯一的名称。

    {
      entry: {
        app: './src/app.js',
        search: './src/search.js'
      },
      output: {
        filename: '[name].js',
        path: __dirname + '/dist'
      }
    }
    // 写入到硬盘:./dist/app.js, ./dist/search.js

    使用 CDN 和资源 hash:

    // config.js
    output: {
      path: "/home/proj/cdn/assets/[hash]",
      publicPath: "http://cdn.example.com/assets/[hash]/"
    }

    在编译时不知道最终输出文件的 publicPath 的情况下,publicPath 可以留空,并且在入口起点文件运行时动态设置。如果你在编译时不知道 publicPath,你可以先忽略它,并且在入口起点设置 __webpack_public_path__

    // config.js
    {
      entry: './src/main.js',
      output: {
        filename: 'bundle.js',
        publicPath: ''
      }
    }
    
    // main.js
    // 最顶端赋值
    __webpack_public_path__ = 'http://xxxxx.com/'
    
    import a from './a.js'
    ......
  • 相关阅读:
    转 linux下ClamAV使用
    oraagent.bin High Memory Usage as Dependent Listener was Removed/Renamed
    转 zabbix 优化方法 以及 后台数据库查询方法 两则
    转 mysql awr 报告
    转 zabbix 优化方法 以及数据库查询方法 两则
    转 检查rac服务时,发现ons服务offline
    转:HR schema
    Spring MVC初始化
    Spring MVC入门的实例
    Spring MVC 设计概述
  • 原文地址:https://www.cnblogs.com/kdcg/p/13271964.html
Copyright © 2011-2022 走看看