• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem po aktualizacji laravel-mix --> ReferenceError: Unknown option: .esModule.

VPS Starter Arubacloud
+1 głos
173 wizyt
pytanie zadane 14 lutego 2021 w JavaScript przez Artek Stary wyjadacz (11,800 p.)

Korzystam z laravel-mix i zaktualizowałem z wersji 4.0 do wersji "^6.0.11". Tak wygląda plik package.json :

{
    "private": true,
    "scripts": {
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "production": "mix --production"
    },
    "devDependencies": {
        "@babel/helper-compilation-targets": "^7.10.4",
        "axios": "^0.19",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.2.1",
        "jquery": "^3.2",
        "laravel-mix": "^6.0.11",
        "lodash": "^4.17.20",
        "node-sass": "^4.14.1",
        "popper.js": "^1.12",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.20.1",
        "sass-loader": "^7.3.1",
        "ts-loader": "^8.0.4",
        "vue": "^2.6.12",
        "vue-svg-loader": "^0.16.0",
        "vue-template-compiler": "^2.6.12"
    },
    "dependencies": {
        "babel-loader": "^8.2.2",
        "image-to-blob": "^0.2.0",
        "laravel-mix-compress-images": "^1.0.4",
        "laravel-mix-imgmin": "^0.1.1",
        "laravel-mix-svg-vue": "^0.3.0",
        "typescript": "^4.0.3",
        "vue-class-component": "^7.2.6",
        "vue-clickaway": "^2.2.2",
        "vue-multiselect": "^2.1.6",
        "vue-property-decorator": "^9.0.0",
        "vue-slider-component": "^3.2.11"
    }
}

Gdy uruchamiam npx mix - czyli próbuję kompilować wyskakuje taki błąd : 

Module build failed (from ./node_modules/babel-loader/lib/index.js):
ReferenceError: Unknown option: .esModule.

Niewiele mi to mówi, zainstalowałem najnowszą wersję Babel'a i tak nie pomogło. Próbowałem wyszukać informacji w google ale nic nie znalazłem. Tak wygląda plik webpack.mix.js

const mix = require('laravel-mix');
require('laravel-mix-svg-vue');
var path = require('path');

/*
 |--------------------------------------------------------------------------
 | 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/js/mainpage.js', 'public/js').vue()
.js('resources/js/auth/register.js', 'public/js').vue()
.js('resources/js/contact.ts', 'public/js').vue()
.js('resources/js/auth/request_password_reset_link.js', 'public/js').vue()
.js('resources/js/auth/password_reset.js', 'public/js').vue()
.js('resources/js/auth/password_reset_confirmation.js', 'public/js').vue()
.js('resources/js/auth/user/settings_panel.js', 'public/js').vue()
.js('resources/js/movies/movies_set_complete.ts', 'public/js').vue()
.js('resources/js/advanced_search.ts', 'public/js').vue()
    .sass('resources/sass/mainpage.scss', 'public/css')
    .sass('resources/sass/movies_set_complete.scss', 'public/css')
    .sass('resources/sass/contact.scss', 'public/css')
    .sass('resources/sass/auth/password_reset.scss', 'public/css')
    .sass('resources/sass/auth/register.scss', 'public/css')
    .sass('resources/sass/auth/password_reset_confirmation.scss', 'public/css')
    .sass('resources/sass/auth/user/settings_panel.scss', 'public/css')
    .sass('resources/sass/advanced_search.scss', 'public/css')
    .svgVue()
    .options({processCssUrls: false})
    .webpackConfig({
        resolve: {
            alias: {
                '@js' : path.resolve('resources/js'),
                '@jscomponents' : path.resolve('resources/js/components'),
                '@jsmodules' : path.resolve('resources/js/modules'),
                'sass' : path.resolve('resources/sass'),
                'sasscomponent' : path.resolve('resources/sass/components'),
                '@jscomponents-decoration' : path.resolve("resources/js/components/decoration"),
                '@jscomponents-form-controls' : path.resolve('resources/js/components/form_controls'),
                '@interfaces' : path.resolve('resources/js/interfaces'),
                '@svgicon' : path.resolve('resources/images/decoration/icons/svg')
            },
            extensions: ["*", ".js", ".jsx", ".vue", ".ts", ".tsx", ".svg"]
        },

        module: {
            rules: [
              {
                test: /\.tsx?$/,
                loader: "ts-loader",
                options: { appendTsSuffixTo: [/\.vue$/] },
                exclude: /node_modules/
              },

              {
                test: /\.svg$/,
                use: [
                  'babel-loader',
                  'vue-svg-loader',
                ],
              },
            ]
          }
    })

Jakieś pomysły? 

komentarz 14 lutego 2021 przez Michał Kazula Pasjonat (19,540 p.)
Która wersja L?

U mnie jest polecenie

> npm run watch

A odpalałeś npm install albo update?
komentarz 15 lutego 2021 przez Artek Stary wyjadacz (11,800 p.)

Która wersja L?

8.0

U mnie jest polecenie

> npm run watch

Najwyraźniej masz starszą wersję. W najnowszej wersji komendy się trochę pozmieniały.  

A odpalałeś npm install albo update?

Teoretycznie nie powinno być to konieczne gdyż w instrukcji napisali, że laravel mix zawiera wszystkie wymagane zależności. 

1 odpowiedź

0 głosów
odpowiedź 15 lutego 2021 przez Artek Stary wyjadacz (11,800 p.)

Dodam jeszcze, że błą pojawia się w pliku

Module build failed (from ./node_modules/babel-loader/lib/index.js)

 

Podobne pytania

0 głosów
0 odpowiedzi 141 wizyt
pytanie zadane 17 lipca 2020 w JavaScript przez creend Gaduła (4,700 p.)
+1 głos
2 odpowiedzi 205 wizyt
pytanie zadane 15 maja 2019 w JavaScript przez Gambr Dyskutant (7,530 p.)
+2 głosów
0 odpowiedzi 74 wizyt
pytanie zadane 1 października 2021 w JavaScript przez Artek Stary wyjadacz (11,800 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...