所以我的项目结构是我的根目录src
中有一个www
和./
目录,其中还包含我的bower.json
,gulpfile.js
和{将.bowerrc
设置为directory
。{/},{1}}
我的./www/bower/
中有一个index.html
,我设置了一个gulp任务,通过./src
管理它,然后到凉亭包裹的wiredep
是
不幸的是,它将所有依赖项添加为./www
目录中的所有依赖项,因此所有这些项目都以./src
为前缀,最终../www/bower/
的最终结果为index.html
www
目录,所以我摆弄了一些wiredep
配置选项,如下所示:
gulp.task('bower', function () {
gulp.src('./src/index.html')
.pipe(wiredep({
cwd: './www',
bowerJson: require('./bower.json'),
directory: '../.bowerrc'
}))
.pipe(gulp.dest('./www'));
});
但是我收到以下错误:
stream.js:94
throw er; // Unhandled stream error in pipe.
^
TypeError: Cannot read property 'main' of undefined
at findMainFiles (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\lib\detect-dependencies.js:53:37)
at D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\lib\detect-dependencies.js:111:17
at forOwn (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\lodash\dist\lodash.js:1301:15)
at Function.forEach (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\lodash\dist\lodash.js:2595:9)
at detect (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\lib\detect-dependencies.js:312:5)
at wiredep (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\wiredep.js:178:39)
at Transform._transform (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\wiredep.js:217:34)
at Transform._read (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:184:10)
at Transform._write (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:172:12)
at doWrite (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\through2\node_modules\readable-stream\lib\_stream_writable.js:238:10)
那么我做错了什么?
答案 0 :(得分:31)
同时尝试,这将确保下载缺少的必要模块。
bower install
答案 1 :(得分:14)
据我猜测,你搞砸了凉亭。很可能你卸载了一个依赖项而忘了保存。
你应该做什么:
bower uninstall <dependency> --save
你可能做了什么:
bower uninstall <dependency>
您可以通过执行uninstall <dependency> --save
的方法来解决此问题,或者如果您不确定卸载了哪些组件,则可以编辑bower.json
文件并删除未安装的组件。 (您可以检查bower_componenets
目录中是否安装了依赖项)