2016-10-27 6 views
0

Я работаю с Laravel 5.3.gulp: Ошибка в модуле

Ошибки, которые возникают после установки узла-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.

My package.json файл. Примечание JSON-погрузчик

{ 
    "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" 
    } 
} 

Затем попытался объединить WebPack конфигурации, как это в gulpfile. Я пробовал 2 разных подхода, см. TRY1 и TRY2, конечно, не в то же время, просто разместил оба подхода.

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']); 
}); 

Но я все еще получаю сообщение об ошибке.

Полной ошибка

enter image description here

ответ

6

Если вы хотите использовать НПЕ модули, которая требует JSon-погрузчика, это решение.

Добавить следующие в пакет package.json файл.

"json-loader": "^0.5.4"

Создать webpack.config.js со следующим кодом:

Elixir.webpack.mergeConfig({ 

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

Теперь вы можете потребовать пакеты в файле bootstrap.js которые требуют JSon-погрузчик.

Дополнительные примечания

Когда вы смотрите на index.js файл, в котором определен метод WebPack эликсира, вы видите, что JSON загрузчик отсутствует в массиве погрузчиков.

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