PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, February 3, 2022

[FIXED] Webpack mix verion files that use Copy or CopyDirectry

 February 03, 2022     laravel-5, webpack     No comments   

Issue

  • Laravel Mix Version: 1.4.5
  • Node Version: v6.10.2
  • NPM Version: 3.10.10
  • OS: windows 10 xampp

Description:

Undefined index when using copy/copyDirectory and {{ mix() }}

Steps To Reproduce:

Create 2 folders in resources

/css/afolder/afile.css

/css/another/anotherfile.css

Copy the folders with the following:

`mix.copy('resources/assets/css/', 'public/css', false);`

or

`mix.copyDirectory('resources/assets/css/', 'public/css');`

The files are copied fine, but when using

`{{ mix('css/afolder/afile.css') }}`

or

`{{ mix('css/anotherfolder/anotherfile.css') }}`

It returns back

Undefined index: css/afolder/afile.css

Undefined index: css/anotherfolder/anotherfile.css

The folders exists:

public/css/afolder/afile.css
public/css/anotherfolder/anotherfile.css

Mix manifest just shows the following

{
    "/js/app.js": "/js/app.js?id=0eaf1649511b8f1c3fd9",
    "/css/app.css": "/css/app.css?id=a86d86d0b7edd1152cc6"
}

Full webpackmix file

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

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

mix.js('resources/assets/js/app.js', 'public/js');

mix.copy('resources/assets/js/', 'public/js', false);

mix.copy('resources/assets/css/', 'public/css', false);

mix.sass('resources/assets/sass/app.scss', 'public/css');

mix.version();

Solution

Webpack does not apply version on files under copy() or copyDirectory() methods. Because they runs standalone, outside of webpack build.

If you just copy them, you should use this files like as simple file, that are not under version.

<link rel="stylesheet" href="{{ asset('css/afolder/afile.css') }}">

The mix.version() will automatically version any compiled JavaScript, Sass/Less, or combined files. However, if you'd also like to version extra files as part of your build, simply pass a path, or array of paths, to the method, like so: mix.version(['public/js/random.js']);



Answered By - ArtemSky
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing