2016-10-27 4 views
0

Ich arbeite mit Laravel 5.3.Schluck: Modul Parse fehlgeschlagen

Fehler bekomme ich nach der Installation von Node-Uuid.

{ [Error: ./~/diffie-hellman/lib/primes.json Module parse failed: /var/www/html/filecloudprod/node_modules/diffie-hellman/lib/primes.json Unexpected token (2:11) You may need an appropriate loader to handle this file type.

Meine package.json Datei. Hinweis json-loader

{ 
    "private": true, 
    "scripts": { 
    "prod": "gulp --production", 
    "dev": "gulp watch" 
    }, 
    "devDependencies": { 
    "gulp": "^3.9.1", 
    "jquery": "^3.1.0", 
    "laravel-elixir": "^6.0.0-9", 
    "laravel-elixir-browsersync-official": "^1.0.0", 
    "laravel-elixir-vue-2": "^0.2.0", 
    "laravel-elixir-webpack-official": "^1.0.2", 
    "lodash": "^4.16.2", 
    "vue": "^2.0.1", 
    "vue-resource": "^1.0.3", 
    "dropzone": "^4.3.0", 
    "animate.css": "^3.5.0", 
    "node-uuid": "^1.4.7", 
    "json-loader": "^0.5.4" 
    } 
} 

versucht Dann webpack Config wie dies in gulpfile zu verschmelzen. Ich habe versucht 2 verschiedene Ansätze, siehe TRY1 und TRY2, sicherlich nicht zur gleichen Zeit, nur beide Ansätze geschrieben.

const elixir = require('laravel-elixir'); 

require('laravel-elixir-vue-2'); 

// TRY 1 
elixir.webpack.mergeConfig({ 
    module: { 
     loaders: [{ 
      test: /\.json$/, 
      loader: 'json' 
     }] 
    } 
}); 

// TRY 2 
elixir.ready(() => { 
    elixir.config.js.webpack = { 
     loaders: [{ 
      test: /\.json$/, 
      loader: 'json' 
     }] 
    } 
}); 

elixir(function (mix) { 

    mix.sass('app.scss'); 

    mix.webpack('app.js'); 

    mix.browserSync({ 
     proxy: 'filecloud.dev' 
    });  

    mix.version(['css/app.css', 'js/app.js']); 
}); 

Aber ich bekomme immer noch den Fehler.

Voll Fehler

enter image description here

Antwort

6

Wenn Sie npm Module verwenden möchten, die diejson-Loader benötigt, ist dies die Lösung.

Fügen Sie Folgendes zur package.json Datei hinzu.

"json-loader": "^0.5.4"

erstellen webpack.config.js mit dem folgenden Code:

Elixir.webpack.mergeConfig({ 

    module: { 
     loaders: [{ 
      test: /\.json$/, 
      loader: 'json' 
     }] 
    } 
}); 

Jetzt können Sie Pakete in Ihrer bootstrap.js Datei benötigen, die den json-Lader erforderlich.

Zusätzliche Hinweise

Wenn Sie zu index.js Datei suchen, wo die webpack Methode von Elixier definiert ist, sehen Sie, dass der json Lader innerhalb der Lade Array fehlt.

module: { 
    loaders: [{ test: /\.js$/, loader: 'buble', exclude: /node_modules/ }] 
}, 
Verwandte Themen