javascript - Webpack - 连接文件然后使用 babel-loader

标签 javascript webpack webpacker

我有几个 js 文件,我想将它们连接成一个文件,然后在该文件上使用 babel-loader,以便将 ES5+ 转换为 JS。

我使用 MergeIntoSingleFilePlugin 来合并文件,但由于构建顺序,babel 加载器首先运行。

是否可以先运行插件,然后在插件生成的文件上运行构建? 或者您有其他想法如何实现这一目标?

这是我的代码:

const path = require('path');
const MergeIntoSingleFilePlugin = require('webpack-merge-and-include-globally');

module.exports = {
    mode: 'development',
    entry: './webpack-test/test.js',
    output: {
        filename: 'scripts.min.js',
        path: path.resolve(__dirname, 'webpack-test')
    },
    module: {
        rules: [{
            test: /\.js$/,
            exclude: /(node_modules|bower_components)/,
            use: {
                loader: 'babel-loader',
                options: {
                    presets: ['@babel/preset-env']
                }
            }
        }]
    },
    plugins: [
        new MergeIntoSingleFilePlugin({
            files: {
                'test.js': [path.resolve(__dirname, 'js/*.js')],
            }
        }),
    ]
};

最佳答案

我用“webpack-concat-files-plugin”解决了这个问题。

const WebpackConcatPlugin = require('webpack-concat-files-plugin');
const babel = require("@babel/core")

plugins: [
    new WebpackConcatPlugin({
      bundles: [
        {
          src: ['*.js'],
          dest: './dist/polyfills.min.js',
          transforms: {
            after: async (code) => {
              const minifiedCode = await babel.transform(code, {
                presets: ["@babel/preset-env", "minify"],
              });
              return minifiedCode.code;
            },
          },
        },
      ],
    }),
  ],

关于javascript - Webpack - 连接文件然后使用 babel-loader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59969878/

相关文章:

reactjs - 无法导入路径下 tsconfig.json 中定义为别名的文件

javascript - 如何自动安装丢失的yarn包?

javascript - 如何有条件地向 React 组件添加属性?

javascript - MS Edge Canvas 不支持 SVG 填充颜色

javascript - webpack-dev-server 运行两次

reactjs - 无需重建即可将不同的环境变量传递给 React 应用程序

javascript - 如何使用 webpacker 使 Rails 6 项目中的页面可以访问 javascript 函数?

webpack - PhotoSwipe 和 Webpack : Can't resolve path

javascript - 如何处理 "Go"/"Enter"keyboard button Ionic2 <ion-input>

javascript - AngularJS $http 无限调用