使用入口点和输出配置Laravel mix mix.webpackConfig({})

时间:2018-11-27 09:29:51

标签: javascript laravel webpack babel laravel-mix

我正在开发一个使用php 5.6和laravel 5.4的应用程序。我正在使用laravel mix构建我的资产。我需要知道如何使用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'
                }
            }
        ]
    }
};

有可能吗?就是这样,请让我知道该怎么做。谢谢

2 个答案:

答案 0 :(得分:0)

我几乎没有发现laravel-mix mix.webpackConfig({})成功启动,甚至没有工作样本。我不知道您要管理什么框架,但是此示例有效。这是用于较少加载程序的配置,希望您可以对其进行调整以适合您的目的。

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"),
        ],
      },
  ]} 
})

答案 1 :(得分:-1)

Mix是Webpack之上的配置层,因此要运行Mix任务,您只需执行默认Laravel package.json文件随附的NPM脚本之一:官方网站上的更多详细信息

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