Laravel mix 总是在 Windows 上将 css 编译成 js,而不是在 Linux 上

问题描述 投票:0回答:0

我有这个 Laravel 项目。在 Windows 上,它总是将 SCSS 编译成 JS,而在 Linux 上,它会根据需要将 SCSS 编译成一个单独的 CSS 文件。 这是

webpack.mix.js
的内容。

const mix = require('laravel-mix');

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel applications. By default, we are compiling the CSS
 | file for the application as well as bundling up all the JS files.
 |
 */


mix.webpackConfig({
  output: {
      chunkFilename: 'js/[name].[contenthash].js',
      // clean:true
  }
});
mix.sass('resources/scss/all.scss', 'css')
.sass('resources/scss/login.scss','css')
.js('resources/js/app.js', 'js').sourceMaps().version()

mix.extract();
mix.browserSync('gallery.localhost');

这里是 npm run 的生产结果 npm run production results

如果我将

webpack.mix.js
文件更改为:

mix.sass('resources/scss/all.scss', 'css')
.sass('resources/scss/login.scss','css')

Linux 将sass 编译成css,而windows 什么也没做。 compile sass only results

NodeJS、NPM 是同一个版本,package.json 文件在Win 和Linux 上是一样的。我试图将项目文件夹复制并粘贴到全新的 Linux 和 Windows 环境中,以防某些隐藏的配置导致这种奇怪的行为。但是没有,还是一样。谁能阐明如何使相同的配置在两个操作系统上以相同的方式工作?

操作系统:Debian 10 & Win 11,节点:v20.0.0,NPM:9.6.5

webpack laravel-mix
© www.soinside.com 2019 - 2024. All rights reserved.