我通过凉亭安装了茉莉花:
├── angular#1.3.8 (1.3.9-build.3719+sha.a3c3bf3 available)
├─┬ angular-animate#1.3.8 (1.3.9-build.3719+sha.a3c3bf3 available)
│ └── angular#1.3.8 (latest is 1.3.9-build.3719+sha.a3c3bf3)
├─┬ angular-cookies#1.3.8 (1.3.9-build.3719+sha.a3c3bf3 available)
│ └── angular#1.3.8
├─┬ angular-resource#1.3.8 (1.3.9-build.3719+sha.a3c3bf3 available)
│ └── angular#1.3.8
├─┬ angular-route#1.3.8 (1.3.9-build.3719+sha.a3c3bf3 available)
│ └── angular#1.3.8
├─┬ bootstrap#3.3.1
│ └── jquery#2.1.3
├── jasmine#2.1.3
└── require#a45d433fdc
但是,如何将其包含在我的项目中?
根据their homepage,我需要包括:
jasmine.js
jasmine-html.js
boot.js
但是,当我尝试在我的专用规范页面中包含带有链轮的jasmine.js
时,我收到错误:
//= require jasmine
给了我:
Sprockets::FileNotFound
couldn't find file 'jasmine'
bootstrap,angular和angular的模块都与链轮完美配合:
//= require jquery
//= require jquery_ujs
//= require angular
//= require angular-resource
//= require angular-route
//= require angular-cookies
//= require bootstrap
但不是茉莉:(
我不想使用宝石,因为我希望凉亭能够吸引我所有的客户端库。
有没有办法用链轮硬编码路径?我可以看到我需要的文件。它们位于:
vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine.js
vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine-html.js
vendor/assets/bower_components/jasmine/lib/jasmine-core/boot.js
答案 0 :(得分:1)
bootstrap,angular,angular modules和jasmine之间的区别在于它们都有 bower.json 而jasmine缺少它。 Bower将能够在没有bower.json文件的情况下解析包,但它有一些缺点
sprockets与bower组件一起工作的方式在article中有很好的描述。简短版本是在处理像//= require bootstrap
sprockets这样的指令时:
现在,jasmine没有bower.json文件。它并不能阻止Bower解决它,但这意味着链轮将不找到主文件。
对此的一个解决方案是为您要包含的jasmine文件提供require directive logical或相对路径,例如:
//= require jasmine/lib/jasmine-core/jasmine.js
这假设vendor/assets/bower
_ components是sprockets load path的一部分。