配置 Laravel 将 mix.webpackConfig({}) 与入口点和输出混合

configure Laravel mix mix.webpackConfig({}) with entry points and outputs

我正在开发一个使用 php 5.6 和 laravel 5.4 的应用程序。我正在使用 laravel 组合来构建我的资产。我需要知道如何使用 mix.webpackConfig({}) 方法来使用另一个 webpack 配置,例如使用 babel-loader、riot-tag-loader 等。有没有办法使用这种方法通过入口点和输出文件?例如,我需要在 mix.webpackConfig({}) 中执行以下操作。

module.exports = {
    entry: {
        admin: ['./resources/assets/admin/js/app.js'],
        'manuals/parent/child/js': ['./resources/views/manuals/parent/child/js/app.js']
    },
    output: {
        filename: '[name]/app.js',
        path: path.resolve(__dirname + '/public')
    },
    module: {
        rules: [
            {
                test: /\.tag$/,
                exclude: /node_modules/,
                loader: 'riot-tag-loader',
                query: {
                    type: 'es6',
                    hot: true
                }
            },
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader'
                }
            }
        ]
    }
};

这可能吗?是这样吗,请告诉我该怎么做。谢谢

Mix 是 Webpack 之上的配置层,因此对于 运行 您的 Mix 任务,您只需执行默认 Laravel 中包含的 NPM 脚本之一package.json 文件:更多详情在官网

https://laravel.com/docs/5.7/mix

我几乎没有发现laravel-mix mix.webpackConfig({}) 成功启动,连工作样本都在后面。我不知道您要管理的框架是什么,但是这个示例有效;这是 less-loader 的配置,希望您可以调整它以适合您的目的。

const path = require('path');
mix.webpackConfig({
 module: {
   rules: [
      {
        test: /\.less$/,
        loader: "style-loader!css-loader!less-loader",
        exclude: [
            path.resolve(__dirname, "node-modules"),
            path.resolve(__dirname, "resources/assets/less"),
        ],
      },
  ]} 
})