Laravel Mix-在目标:节点中使用样式加载器``未定义窗口''

时间:2019-10-09 02:54:20

标签: javascript laravel webpack laravel-mix webpack-style-loader

我的laravel-mix有2种不同的版本。目标节点和网站。这是它们的外观:

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个文件

但是,我收到一个'node'的错误,这很合理-节点目标中没有窗口:

  

返回窗口&& 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;
});

我该怎么办,以使“节点”不使用样式加载器?如何在laravel-mix中更改此设置?

...但是要根据目标更改Laravel-mix中的样式加载器吗?

1 个答案:

答案 0 :(得分:0)

在节点目标中不包括mix.sass('resources/sass/app.scss', 'public/css')的情况是:O