seajs-rails 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +15 -0
- data/app/helpers/seajs_helper.rb +8 -3
- data/lib/seajs/rails/version.rb +1 -1
- data/lib/tasks/seajs-rails.rake +4 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -74,6 +74,8 @@ ouput 项其实就是 package.json 中的 spm.output,支持 relative(只合
|
|
74
74
|
```
|
75
75
|
* seajs_tag 用于引入 seajs ,并且会根据是否合并引入必要的配置
|
76
76
|
* seajs_use 用于加载 CMD 模块,支持传递多个模块名称
|
77
|
+
* 如果需要 use 通用模块(位于 sea-modules 目录下),请在模块名前加上#,如 `<%= seajs_use '#gallery/moment/2.0.0/moment' %>`
|
78
|
+
* 如果想要使用带 callback 的 use 函数,可使用 seajs_modules 方法,如 `seajs.use(<%= seajs_modules 'blogs/show' %>, function(show){ })`
|
77
79
|
|
78
80
|
### 合并
|
79
81
|
|
@@ -87,3 +89,16 @@ Sea.js 的合并过程不会与原有的 assets pipeline 冲突,但是请将
|
|
87
89
|
* 而非 CMD 模块的文件请依然通过 `config.assets.precompile` 配置
|
88
90
|
|
89
91
|
合并完成后,不需要改动页面,两个 helper 方法能够自动处理
|
92
|
+
|
93
|
+
**特别注意:**请关注系统的 NODE_PATH 环境变量,如果不配置的话会导致 spm-chaos-build 执行有误
|
94
|
+
|
95
|
+
|
96
|
+
## 参考文章
|
97
|
+
|
98
|
+
[Sea.js 如何与 Rails 结合](http://chaoskeh.com/blog/how-to-integrates-seajs-with-rails.html)
|
99
|
+
|
100
|
+
## 变动历史
|
101
|
+
|
102
|
+
**2013-06-13** `0.0.8`
|
103
|
+
|
104
|
+
增加 seajs_modules 方法,感谢 @blankyao
|
data/app/helpers/seajs_helper.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module SeajsHelper
|
2
|
-
|
3
|
-
|
2
|
+
|
3
|
+
# get module name
|
4
|
+
def seajs_modules(*modules)
|
4
5
|
seajs_config = Rails.application.config.seajs
|
5
6
|
|
6
7
|
modules.map! do |m|
|
@@ -14,10 +15,14 @@ module SeajsHelper
|
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
18
|
+
modules.to_s.html_safe
|
19
|
+
end
|
17
20
|
|
21
|
+
# generate seajs.use()
|
22
|
+
def seajs_use(*modules)
|
18
23
|
html = <<-html
|
19
24
|
<script>
|
20
|
-
seajs.use(#{modules
|
25
|
+
seajs.use(#{modules_seajs_use(*modules)})
|
21
26
|
</script>
|
22
27
|
html
|
23
28
|
|
data/lib/seajs/rails/version.rb
CHANGED
data/lib/tasks/seajs-rails.rake
CHANGED
@@ -16,14 +16,17 @@ namespace :seajs do
|
|
16
16
|
# install seajs
|
17
17
|
path = Rails.root.join('app', 'assets', 'javascripts')
|
18
18
|
`cd #{path} && spm install seajs@#{Seajs::Rails::SEAJS_VERSION}`
|
19
|
+
puts "installed seajs@#{Seajs::Rails::SEAJS_VERSION}"
|
19
20
|
|
20
21
|
# generate seajs config file
|
21
|
-
|
22
|
+
config_path = Rails.root.join('config', 'seajs_config.yml')
|
23
|
+
File.open(config_path, 'w') do |f|
|
22
24
|
config_temp = File.expand_path('../template/seajs_config.yml', __FILE__)
|
23
25
|
templ = Erubis::Eruby.new(File.open(config_temp).read)
|
24
26
|
f.write templ.result(:seajs_path => "seajs/seajs/#{Seajs::Rails::SEAJS_VERSION}/sea.js",
|
25
27
|
:family => Rails.application.class.parent_name.downcase)
|
26
28
|
end
|
29
|
+
puts "generated config file at #{config_path}"
|
27
30
|
end
|
28
31
|
|
29
32
|
namespace :compile do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seajs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|