Laravel mix - окно не определено с загрузчиком стилей в target: node - PullRequest
1 голос
/ 09 октября 2019

У меня есть 2 разных билда для моего laravel-mix. Целевой узел и сеть. Вот как они выглядят:

if (process.env.npm_config_section === 'server') {
    mix.js('resources/js/app-server.js', 'public/js')
        .webpackConfig({
            target: 'node',
            plugins: [
                new webpack.optimize.LimitChunkCountPlugin({
                    maxChunks: 1,
                })
            ],
        })
        .mergeManifest()
        .version();
} else if (process.env.npm_config_section === 'client') {
    mix.js('resources/js/app-client.js', 'public/js')
        .webpackConfig({
            target: 'web',
            output: {
                chunkFilename: 'js/chunks/[name].js?id=[chunkhash]',
                publicPath: '/',
            },
        })
        .mergeManifest()
        .version();
}

mix.sass('resources/sass/app.scss', 'public/css')
  • Для 'сети' - она ​​разделяет куски
  • Для 'узла' - она ​​дает только 1 файл

Тем не менее, я получаю ошибку для 'узла', которая является достаточно справедливой - у нас нет окна в целевом узле:

окно возврата && document && document.all &&! Window. atob

ReferenceError: окно не определено

Глядя на скомпилированный файл, он падает, что заставляет меня думать, что оно связано с загрузчиком стилей.

var isOldIE = memoize(function () {
    // Test for IE <= 9 as proposed by Browserhacks
    // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
    // Tests for existence of standard globals is to allow style-loader
    // to operate correctly into non-standard environments
    // @see https://github.com/webpack-contrib/style-loader/issues/177
    return window && document && document.all && !window.atob;
});

Что я могу сделать, чтобы «узел» не использовал style-loader? Как я могу изменить это в Laravel-Mix?

... но для изменения style-loader в Laravel-микс на основе цели?

1 Ответ

0 голосов
/ 09 октября 2019

Не включая mix.sass('resources/sass/app.scss', 'public/css') в целевом узле сработало: O

...