为什么 Laravel-mix "version" 在本地适用于 JS 而 SASS 但在远程服务器上仅适用于 JS?
Why does Laravel-mix "version" work locally for JS and SASS but on remote server only works for JS?
我正在使用 "laravel-mix": "^0.10.0"
,因为更高版本(例如 "laravel-mix": "^2.0"
)有更多问题(我可能 post 单独提出问题)。
在我的本地机器上,mix.version();
特性对 JS 和 SASS 都很好(无论我是 运行 npm run production
还是 npm run watch
)。
mix-manifest.json
文件更新为 "/css/app.eebc014f141ca31528c7.css"
和 "/js/common.d781da695b3fb8b3765c.js"
.
等路径
版本化的 JS 和 CSS 文件存在于相应的 public 文件夹中。
但是当我 运行 在生产服务器上执行相同的 npm run production
命令时,只有 JS 文件得到版本控制并出现在 /mix-manifest.json
.
SCSS 文件在没有版本控制的情况下被编译成 CSS。
我该如何解决这个问题?
升级到 2.0 后这似乎不再是问题
虽然我不知道问题的确切答案,但我能够从 "laravel-mix": "^0.10.0"
升级到 "laravel-mix": "^2.0"
并且(另外,在这个问题的范围之外)将处理事实上,Uglify 选项(例如 drop_console
/ clearConsole
)似乎是拙劣的。
不过,版本控制似乎适用于 JS 和 SASS/SCSS。
而且我注意到 mix-manifest.json
使用查询字符串的新方法(例如 "/css/app.css?id=89fc79b46cdbfdc944d4"
)而不是更改文件名。
我正在使用 "laravel-mix": "^0.10.0"
,因为更高版本(例如 "laravel-mix": "^2.0"
)有更多问题(我可能 post 单独提出问题)。
在我的本地机器上,mix.version();
特性对 JS 和 SASS 都很好(无论我是 运行 npm run production
还是 npm run watch
)。
mix-manifest.json
文件更新为 "/css/app.eebc014f141ca31528c7.css"
和 "/js/common.d781da695b3fb8b3765c.js"
.
版本化的 JS 和 CSS 文件存在于相应的 public 文件夹中。
但是当我 运行 在生产服务器上执行相同的 npm run production
命令时,只有 JS 文件得到版本控制并出现在 /mix-manifest.json
.
SCSS 文件在没有版本控制的情况下被编译成 CSS。
我该如何解决这个问题?
升级到 2.0 后这似乎不再是问题
虽然我不知道问题的确切答案,但我能够从 "laravel-mix": "^0.10.0"
升级到 "laravel-mix": "^2.0"
并且(另外,在这个问题的范围之外)将处理事实上,Uglify 选项(例如 drop_console
/ clearConsole
)似乎是拙劣的。
不过,版本控制似乎适用于 JS 和 SASS/SCSS。
而且我注意到 mix-manifest.json
使用查询字符串的新方法(例如 "/css/app.css?id=89fc79b46cdbfdc944d4"
)而不是更改文件名。