为什么Laravel-mix“版本”在JS和SASS本地工作,而在远程服务器上仅对JS工作?

时间:2018-08-27 21:28:00

标签: laravel laravel-5 webpack laravel-mix

我正在使用"laravel-mix": "^0.10.0",因为更高的版本(例如"laravel-mix": "^2.0")存在更多的问题(我可能会提出其他问题)。

在我的本地计算机上,mix.version();功能对于JS和SASS都可以正常工作(无论我运行npm run production还是npm run watch)。

mix-manifest.json文件已使用"/css/app.eebc014f141ca31528c7.css""/js/common.d781da695b3fb8b3765c.js"之类的路径更新。

版本化的JS和CSS文件存在于适当的公用文件夹中。

但是当我在生产服务器上运行相同的npm run production命令时,只有JS文件被版本控制并出现在/mix-manifest.json中。

SCSS文件无需进行版本控制即可编译成CSS。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

升级到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")而不是更改文件名。