首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用StealJS加载缺少bower.json文件的Bower组件

使用StealJS加载缺少bower.json文件的Bower组件
EN

Stack Overflow用户
提问于 2015-09-07 02:18:29
回答 1查看 160关注 0票数 0

我在我的应用程序中使用StealJS + Bower集成,但是我的Bower组件(包括es6-collections)中有几个不包含bower.json文件。由于es6-collections是我的项目的bower.json文件中的依赖项之一,StealJS试图加载es6-collections组件的bower.json文件,但由于它不存在而无法找到它,并抱怨道:Unable to load the bower.json for es6-collections.我尝试使用System.config({ path: { 'es6-collections': '...' } })通知StealJS在加载es6-collections时要使用的脚本路径,但这没有帮助。我能做些什么来让StealJS加载这个组件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-08 21:49:41

假设

所以我要做几个假设:

  • 你用的是从保龄球里偷东西
  • 您是"bower install"'ing ES6-直接从github收集
  • 通过使用HTML加载“系统-保龄球插件”文件,您正在隐式地使用<script src="bower_components/steal/steal.js" main="main"></script>

如果这些事情看起来都是真的,那么您可能只需bower.json文件中添加一些配置,就可以使错误/警告保持沉默,并使一切按预期工作。

解释:

因此,因为system插件(您正在隐式地使用它,因为So检测到它是从bower_components目录加载的)使用组件bower.json文件来确定入口点,所以在这种情况下,错误/警告来自无法找到ES6-集合bower.json文件。

解决方案:

因此,我们只需要告诉系统(被盗取者使用)哪里可以找到这个模块,并且它可以停止寻找它的bower.json文件。

我们可以通过将"system"属性添加到bower.json并添加如下的配置数据来实现这一点.

代码语言:javascript
复制
"system": {
  "paths": {
    "es6-collections": "bower_components/es6-collections/index.js"
  },
  "bowerIgnore": ["es6-collections"],
  "meta": {
    "es6-collections": {
      "format": "global"
    }
  }
}
  • 那里的paths配置告诉系统在哪里可以找到模块。
  • bowerIgnore数组告诉system-bower不要为该模块寻找bower.json
  • meta配置就是告诉系统把这个模块当作要添加到全局对象(浏览器中的窗口)的脚本,这可能是因为ES6-集合的编写方式:它导出一个空的对象,如果它没有什么来填充,所以您不能使用导出的对象,最好把它当作一个全局模块来使用。

关于所有这些事情的更多信息..。

http://stealjs.com/docs/bower.html

https://github.com/systemjs/systemjs/wiki/Meta-Configuration

http://stealjs.com/docs/steal.html

为了在这里有一个工作示例,https://gist.github.com/BigAB/c108bb0860c9cfee3d6a是三个文件,您可以复制、粘贴/克隆,然后执行一个bower install并看到它工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32430278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档