我使用带有Gulp系统的Browserify构建器从reactify JSX编译器转移到Babel编译器(Babelify)。现在我得到了这个错误:
[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)我正在使用Gulp配置:
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插件?我该如何解决这个问题呢?
发布于 2016-04-10 09:42:33
在我的例子中,原因是在过时的NPM中。所以:
$ sudo npm install -g npm解决了我的问题。
不,只需再次运行npm install即可重新安装依赖项
发布于 2016-10-26 19:16:54
我也遇到过类似的问题。在我的gulp文件中,它的用法如下
var compact = require('lodash/array/compact')
compact(assetTasks.map(matchFilter))但是有了新的lodash,你就不能像以前那样使用紧凑模块了。所以下面解决了我的问题。
var array = require('lodash/array')
array.compact(assetTasks.map(matchFilter))https://stackoverflow.com/questions/35468208
复制相似问题