【问题标题】:Cannot read property 'main' of undefined无法读取未定义的属性“主要”
【发布时间】:2014-05-22 12:00:23
【问题描述】:

所以我的项目结构是我的根目录./ 中有一个srcwww 目录,其中还包含我的bower.jsongulpfile.js.bowerrc,其中directory 设置为@ 987654328@.

我的./src 中有一个index.html,我设置了一个 gulp 任务,将其通过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)

那我做错了什么?

【问题讨论】:

  • 我之前也遇到过这个错误。原来我在我的 bower.json 文件中错误地包含了一个依赖项。也许你也在做同样的事情?

标签: javascript node.js bower gulp


【解决方案1】:

也可以试试,这将确保下载缺少的必要模块。

凉亭安装

【讨论】:

    【解决方案2】:

    据我所知,你搞砸了鲍尔。很可能您卸载了依赖项并忘记保存。

    你应该做的:

    bower uninstall <dependency> --save
    

    你可能做了什么:

    bower uninstall <dependency>
    

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

    【讨论】:

    • 谢谢!我已经完成了bower卸载ui-bootstrap,我刚刚添加了--save,一切都恢复了。
    猜你喜欢
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    • 2020-05-13
    • 2022-06-10
    • 2020-04-06
    • 2020-10-30
    相关资源
    最近更新 更多