Categories: Webpack 教程

Webpack 输出(output)

可以通过配置 ​output​ 选项,告知 webpack 如何向硬盘写入编译文件。注意,即使可以存在多个 ​entry​ 起点,但只能指定一个 ​output​ 配置。

用法

在 webpack 配置中,​output​ 属性的最低要求是,将它的值设置为一个对象,然后为将输出文件的文件名配置为一个 ​output.filename​:

webpack.config.js

module.exports = {
  output: {
    filename: bundle.js,
  },
};

此配置将一个单独的 ​bundle.js​ 文件输出到 ​dist​ 目录中。

多个入口起点

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

module.exports = {
  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

module.exports = {
  //...
  output: {
    path: /home/proj/cdn/assets/[fullhash],
    publicPath: https://cdn.example.com/assets/[fullhash]/,
  },
};

如果在编译时,不知道最终输出文件的 ​publicPath​ 是什么地址,则可以将其留空,并且在运行时通过入口起点文件中的 ​__webpack_public_path__​ 动态设置。

__webpack_public_path__ = myRuntimePublicPath;

// 应用程序入口的其余部分

冒牌SEO

前端开发者,欢迎大家一起沟通和交流。

Share
Published by
冒牌SEO

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

1 月 ago