laravel-enso/core

mix-manifest.json not found after refresh

wbovela opened this issue · 9 comments

This is an issue

Prerequisites

  • Are you running the latest version? --> No, I am in the process of upgrading to 3.7.2
  • [X ] Are you reporting to the correct repository?
  • [X ] Did you check the documentation?
  • Did you perform a cursory search?

Description

I can load the User table, for instance without a problem. But when I refresh the page I get an error message "The Mix manifest does not exist."
I have tracked this down to the file core/src/resources/views/index.blade.php containing references to the helper mix() which uses the Mix::class in laravel/framework/src/Illuminate/Foudation/Mix.php which references the mix-manifest.json file which no longer exists.

Steps to Reproduce

  1. load User table
  2. refresh the page

Expected behavior

the user table
(please note that I can not reproduce this in the online version of Enso. It started occurring after the upgrade to 3.7.2)

Actual behavior

an error message saying that the mix-manifest.json file is missing

The core index.blade.php is a left over, the latest push on core removes it.

We will release in a few days 3.7.4 and the changelog will cover this as well but I guess you can already do the following for yourself

After completing the steps in #79 do the following

update the production file location in client/vue.config.js

main: {
    entry: 'src/js/enso.js',
    minify: false,
    filename: process.env.NODE_ENV === 'production'
        ? '../resources/views/index.blade.php'
        : './index.html',
    template: process.env.NODE_ENV === 'production'
        ? '../vendor/laravel-enso/core/stubs/production-index.blade.stub'
        : '../vendor/laravel-enso/core/stubs/development-index.stub',
},

update the default route in routes/web.php

Route::view('/{any}', 'index')->where('any', '.*');

add in the root .gitignore under the local files

resources/views/index.blade.php

update client/babel.config.js to

module.exports = {
    presets: [
        '@vue/cli-plugin-babel/preset',
    ],
};

add the --modern flag in client/package.json under build

"build": "rm -rf ../public/{js,themes,themes-rtl,images} && vue-cli-service build --no-clean --modern",

Thanks!

I now get the following error:

InvalidArgumentException
View [index] not found.

I think I'm missing a file in resources/views. I've tried copying the old index.blade.php file, but I get an 'Unexpected "<"' error.

after you update client/vue.config.js you need to rebuild the app.

Are you experiencing this in production or locally?

I rebuilt the app, but it does the same.
It's local, not production.
Should there be an index.blade.php in resources/views?

are you sure that you updated this in vue.config.js

image

Yes. I hope the screen shot below shows...
Screen Shot 2019-12-12 at 15 20 54

on yarn build the file will be there the same it was with the previous configuration when we had it under vendor. For sure you have a typo somewhere.

I'll keep looking. Thanks for your help.