【问题标题】:Laravel 5.4 mix version issueLaravel 5.4 mix 版本问题
【发布时间】:2017-07-21 06:01:33
【问题描述】:

我有一个包含大约 10 个 javascript 文件的项目。我想使用 Laravel mix webpack 来组合和版本化 js 文件。文件被合并,但版本控制不起作用。它仅适用于我的 scss 文件。它曾经在 Laravel 长生不老药中工作。我检查了公共目录中的 mix-manifest.json 文件,这就是我发现的:

{
  "mix.js": "mix.b2328beb0372c051d06d.js",
  "/css/main.css": "/css/main.bb97b313cc88fe75b545.css",
  "/js/main.js": "/js/main.js"
}

我查找了 mix.js 文件,但在我的项目中的任何地方都找不到它。

这是我的 webpack.mix.js 文件:

mix.combine(
    [
        'resources/assets/js/jRespond.js',
        'resources/assets/js/sweetalert.min.js',
        ....
    ]
    , 'public/js/main.js')
    .sass('resources/assets/sass/main.scss', 'public/css/main.css')
    .version();

谢谢

【问题讨论】:

    标签: laravel-5 laravel-mix


    【解决方案1】:

    确实,combine 方法的版本控制似乎不正确,但使用 js 方法应该可以解决问题:

    mix.js(
    [
        'resources/assets/js/jRespond.js',
        'resources/assets/js/sweetalert.min.js',
        ....
    ]
    , 'public/js/main.js')
    .sass('resources/assets/sass/main.scss', 'public/css/main.css')
    .version();
    

    【讨论】:

    • 我使用 combine 的原因是 mix.js 不适用于我正在使用的插件。当我使用 mix.js 时,一切都被正确编译,但是在浏览器中出现了很多错误。例如,我正在使用一个名为 MatchHeight 的插件。如果我使用 combine 甚至是旧的长生不老药,这个插件就可以正常工作。但是使用 mix.js,我检查了 chrome 开发工具,我发现 matchheight 不是函数错误。我还在我的脚本之前加载 jquery 2.1.4,引导程序抱怨我需要加载高于 1.9.1 的版本。我不知道发生了什么
    • 那么你可能想联系 Laravel 的开发人员,因为 version 不适用于 combine 看起来像是一个错误。
    【解决方案2】:

    我找到了解决方案。我只需要将我的 Laravel-mix 更新到更新的版本。 Jeffery Way 添加了 mix.combine 和 mix.scripts 的版本控制

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 2017-07-26
      • 2017-07-22
      • 2017-10-14
      • 2017-08-20
      • 1970-01-01
      • 2018-08-03
      相关资源
      最近更新 更多