seajs-rails 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|