2016-02-17 3 views
3

Я перехожу от реактивации компилятора JSX к компилятору Babel (Babelify) с помощью Browserify builder с системой Gulp. Теперь я получил эту ошибку:Ошибка Babelify Не удается найти модуль 'lodash/array/compact'

[00:17:25] Error in bundle: 
[00:17:25] Error: Cannot find module 'lodash/array/compact' while parsing file: 
C:\MotoGipsy\repository\motogipsy\client-trunk\public\src\scripts\app.js 
    at Function.Module._resolveFilename (module.js:336:15) 
    at Function.Module._load (module.js:278:25) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 
    at Object.<anonymous> (C:\MotoGipsy\repository\motogipsy\client-trunk\node_m 
odules\babel-preset-es2015\node_modules\babel-plugin-transform-es2015-function-n 
ame\node_modules\babel-types\lib\index.js:42:27) 
    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 

Я использую глоток конфигурацию:

var browserify = require('browserify'), 
    babelify = require('babelify'); 

module.exports = function(config){ 
    // Create a browserify instance with proper options 
    var bundler = browserify({ 
     cache: {}, packageCache: {}, fullPaths: true, 
     debug: config.browserify.debug, 
     paths: config.browserify.paths 
    }) 
    .transform(babelify, {presets: ["es2015", "react"]}); 

    // Add the entry module to the bundler 
    bundler.add('./public/src/scripts/app.js'); 

    return bundler; 
}; 

И это package.json конфигурация:

"dependencies": { 
    "babel": "^6.5.2", 
    "marked": "0.3.5", 
    "es5-shim": "^4.0.5", 
    "extend": "^2.0.0", 
    "gulp": "^3.8.10", 
    "gulp-autoprefixer": "^2.0.0", 
    "gulp-concat": "^2.4.2", 
    "gulp-cssmin": "^0.1.6", 
    "gulp-sass": "^1.2.4", 
    "gulp-shell": "^0.2.11", 
    "gulp-sourcemaps": "^1.3.0", 
    "gulp-uglify": "^1.5.2", 
    "gulp-util": "^3.0.1", 
    "gulp-watch": "^3.0.0", 
    "jquery": "^2.2.0", 
    "react": "^0.14.7", 
    "react-router": "2.0.0", 
    "reflux": ">=0.3.0", 
    "watchify": "^2.2.1", 
    "browserify-shim": "~3.8.9", 
    "react-textarea-autosize": "3.3.0", 
    "react-autolink-text": "2.0.0", 
    "core-js": "2.1.0" 
    }, 
    "devDependencies": { 
    "babel-preset-es2015": "^6.5.0", 
    "babel-preset-react": "^6.5.0", 
    "babelify": "^7.2.0", 
    "jest": "^0.1.37", 
    "jest-cli": "^0.2.1", 
    "lodash": "^4.5.0" 
    }, 

Я действительно запутался об этом ситуация. Пожалуйста, дайте мне знать, почему эта зависимость не идет с плагинами Babel? Как я могу это исправить?

+0

У меня такая же проблема, но с запуском фреймворческой системы тестирования. Вы поняли это? Поскольку другие решения не сработали для меня. – Edvinauskas

ответ

0

В моем случае причина была в устаревшем НПМ. Таким образом:

$ sudo npm install -g npm 

решил мои проблемы. не

Нет просто запустить npm install снова переустанавливать зависимости

0

Я сталкивался с подобной проблемой. В моем файле gulp он использовался как

var compact = require('lodash/array/compact') 
compact(assetTasks.map(matchFilter)) 

Но с новым lodash вы не можете использовать компактный модуль, как и раньше. Итак, ниже решена моя проблема.

var array = require('lodash/array') 
array.compact(assetTasks.map(matchFilter)) 
Смежные вопросы