我试图遵循John Papa的AngularJs 1.x风格指南(
organising tests),并将* .spec.js文件(将使用Karma执行)放在客户端代码旁边,这样就产生了一些文件,如some.filter.js和some. filter.spec.js彼此相邻.
但是,我需要避免的是在资源管道中包含* .spec.js文件.
现在看到的唯一选择是避免使用// = require_tree.在application.js文件中明确指定每个单个文件,或放弃在代码旁边保留spec文件.
有没有更好的方式来实现所期望的行为?
(我使用链轮3.5.2和轨道4.2.6)
解决方法
Sprockets本身不实现文件globbing(还) – 这只能通过提供自定义DirectiveProcessor来实现.幸运的是,已经有一个宝石提供了你想要的:
https://github.com/backupify/sprockets-glob
从文档:
# config/initializers/sprockets.rb require 'sprockets/glob' Rails.application.assets.register_processor('application/javascript',Sprockets::Glob::DirectiveProcessor) # application.js //= require_glob features/**/*.js //= stub_glob features/**/*test.js