无法读取未定义的属性'main'

Jos*_*ett 9 javascript node.js bower gulp

所以我的项目结构是我有一个srcwww目录在我的根./,其中还包含我的bower.json,gulpfile.js.bowerrcdirectory设置为./www/bower/.

我有一个index.html在我./src和我设置了一个gulp任务,通过管道输送wiredep./www凉亭包的位置.

不幸的是,它添加了所有的依赖,就像它在./src目录中一样,所以它们都是前缀,就像../www/bower/最终index.htmlwww目录中一样,所以我摆弄了一些wiredep配置选项,如下所示:

gulp.task('bower', function () {
    gulp.src('./src/index.html')
    .pipe(wiredep({
        cwd: './www',
        bowerJson: require('./bower.json'),
        directory: '../.bowerrc'
    }))
    .pipe(gulp.dest('./www'));
});
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

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)
Run Code Online (Sandbox Code Playgroud)

那么我做错了什么?

Cha*_*lis 31

还试试,这将确保下载缺少的必要模块.

bower install


Bip*_*ari 14

好吧,据我所知,你搞砸了凉亭.您很可能卸载了依赖项并忘记保存.

你应该做什么:

bower uninstall <dependency> --save
Run Code Online (Sandbox Code Playgroud)

你可能做了什么:

bower uninstall <dependency>
Run Code Online (Sandbox Code Playgroud)

您可以通过执行bower来解决此问题,uninstall <dependency> --save或者如果您不确定卸载了哪些组件,则可以编辑bower.json文件并删除未安装的组件.(您可以检查bower_componenets目录中是否安装了依赖项)