我有这个 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');
如果我将
webpack.mix.js
文件更改为:
mix.sass('resources/scss/all.scss', 'css')
.sass('resources/scss/login.scss','css')
Linux 将sass 编译成css,而windows 什么也没做。
NodeJS、NPM 是同一个版本,package.json 文件在Win 和Linux 上是一样的。我试图将项目文件夹复制并粘贴到全新的 Linux 和 Windows 环境中,以防某些隐藏的配置导致这种奇怪的行为。但是没有,还是一样。谁能阐明如何使相同的配置在两个操作系统上以相同的方式工作?
操作系统:Debian 10 & Win 11,节点:v20.0.0,NPM:9.6.5