提问者:小点点

如何在webpack中创建给定名称的输出文件名?


我有使用ES模块库,我想在ES5中生成UMD文件。 我有如下配置:

var path = require('path');
var webpack = require('webpack');

module.exports = {
    entry: {
        index: path.resolve('./src/index.js')
    },
    output: {
        library: 'name',
        libraryTarget: 'umd',
        path: path.resolve(__dirname, 'dist'),
        filename: 'umd.min.js'
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['env']
                }
            }
        ]
    },
    stats: {
        colors: true
    },
    mode: 'production',
    devtool: 'source-map'
};

和webpack创建文件main.js如何使输出文件umd.min.js

> webpack --mode production

Hash: 98ccf0949bfdf066246a
Version: webpack 4.44.0
Time: 97ms
Built at: 25.07.2020 16:30:31
  Asset      Size  Chunks             Chunk Names
main.js  2.23 KiB       0  [emitted]  main
Entrypoint main = main.js
[0] ./src/index.js + 3 modules 3.6 KiB {0} [built]
    | ./src/index.js 294 bytes [built]
    | ./src/Canvas.js 1.88 KiB [built]
    | ./src/Item.js 1.2 KiB [built]
    | ./src/constants.js 239 bytes [built]

我的Package.json如下所示:

  "type": "module",
  "main": "./src/index.js",
  "unpkg": "./dist/umd.min.js",

所以这是个虫子? 为什么文件名是main.js?


共1个答案

匿名用户

问题是webpack-cli建议将文件重命名为cjs,但不要说默认情况下不加载它,您需要在运行webpack时用文件名显式地添加--config。

查看本期内容:

https://github.com/webpack/webpack-cli/issues/1165