我目前不满意使用Flux进行的黑客攻击,现在Redux用于在我的商店中填充initialState.
我总是在初始页面加载的情况下发送JSON的有效负载.通用JavaScript在我的某些应用程序中不是一个选项,因为它们并非全部由Node支持.我想关注如何在客户端上预加载数据的"最佳实践"和模式.然后,我觉得搬到服务器是微不足道的.
以下是我目前在工作中使用Redux的一些其他玩具应用程序的要点:
https://gist.github.com/kevinold/5767bb334472b7e2bfe3
总结一下:
这是有效的,并没有我们遇到的任何问题,但它感觉像一个我不是很满意的黑客.另外,我觉得Redux的初始状态并不满意我这样做.
根据http://rackt.org/redux/docs/recipes/ServerRendering.html和"客户端"部分,我可以将initialState传递给我的商店.
这是我正在帮助的另一个项目(KeystoneJS)的补丁.我将它的Keystone对象传递给initialState:
虽然这确实有效,但正如你所看到的,我被迫匹配我的整体组合减速器的输出形状(https://github.com/kevinold/keystone/commit/6f80c2f6f1e5c081361369a8bb31b75f1e62460f#diff-b4b498ca92c4d05e050b45c725c26f9d)或者我会得到控制台警告等
我可能在处理这个问题时非常懒惰,但是当我添加/更改与reducers相关的任何内容时,我试图限制更新另一条数据(添加一个reducer,它们是如何编写的等等).
我意识到我可能必须正确地将这个initialState放入reducer.
我正在消化如何(https://github.com/erikras/react-redux-universal-hot-example/blob/master/src/client.js#L25)处理它的initialState.
我非常感谢有关为他人工作的"最佳"和"现实世界"实践的一些反馈.
我遇到了rvm,bundler和gemsets的问题.我在rvm中安装了3个红宝石:
rvm rubies
macruby-0.7.1 [ x86_64 ]
ree-1.8.7-2010.02 [ x86_64 ]
=> ruby-1.9.2-p0 [ x86_64 ]
Run Code Online (Sandbox Code Playgroud)
和宝石一样:
rvm gemsets
macruby-0.7.1 [ x86_64 ]
ree-1.8.7-2010.02 [ x86_64 ]
ree-1.8.7-2010.02@chef [ x86_64 ]
ree-1.8.7-2010.02@global [ x86_64 ]
ree-1.8.7-2010.02@mobi [ x86_64 ]
ree-1.8.7-2010.02@temple_rails [ x86_64 ]
ruby-1.9.2-p0 [ x86_64 ]
=> ruby-1.9.2-p0@instapaper [ x86_64 ]
ruby-1.9.2-p0@mobi [ x86_64 ]
Run Code Online (Sandbox Code Playgroud)
我有一个.rvmrc切换到ruby 1.9.2和"instapaper"gemset:
rvm use ruby-1.9.2-p0@instapaper
Run Code Online (Sandbox Code Playgroud)
我想使用bundler,所以我在这个gemset中手动安装bundler,这很好用.
我构建我的Gemfile:
source "http://rubygems.org"
gem "mechanize"
gem "highline"
gem "www-delicious"
Run Code Online (Sandbox Code Playgroud)
然后,当我运行"bundle install"时,它使用它在ree 1.8.7中看到的gem:
Using highline (1.6.1)
Using nokogiri (1.4.4) …Run Code Online (Sandbox Code Playgroud) 我动态缩小javascript文件并在现有文件旁边生成.min.js文件.这是一个问题,虽然当使用ack时,因为它将这些视为.js文件并搜索它们使用缩小的javascript乱丢我的结果屏幕.
我试过把它添加到我的.ackrc而没有运气:
--type-set=minjs=.min.js
--nominjs
Run Code Online (Sandbox Code Playgroud)
有没有办法让ack忽略这种类型的扩展?
PS我没有简单地将.min.js重命名为.min_js或任何其他变体的选项.
我正在尝试将这张图像(以及其他类似图像)的色调以不同的渐变等方式从“蓝色”转换为我的设计师在 Photoshop 中完成的模型中定义的另一种颜色。
我从 Photoshop 附加了 2 个色相/饱和度屏幕,其中 HSL 值为紫色和橙色,但通过以下 ruby 代码在 Imagemagick 中使用 -modulate:
# burnt orange - works
hue = 25.0 # must be a decimal
sat = 100
bri = 0
# purple - does not work
#hue = 266.0 # must be a decimal
#sat = 100
#bri = 0
# formula from -modulate http://www.imagemagick.org/Usage/color_mods/#modulate
h = ( hue * 100/180 ) + 100
system("convert -define modulate:colorspace=HSB home_tab_back_right.png -modulate #{h},#{sat},#{bri} #{h}-#{sat}-#{bri}-home_tab_back_right.png")
Run Code Online (Sandbox Code Playgroud)
这适用于烧焦的橙色图像,但不适用于紫色和我给出的其他颜色。
通过传递“modulate:colorspace=HSB”,我比不传递“modulate:colorspace=HSB”取得了更大的成功,但仍然无法一致地插入从 Photoshop 接收到的值,并让它获取基础蓝色图像并改变色调。
这可以做到吗?



我正在尝试将json结构读入全局变量,但似乎无法使其工作.一旦从文件中读取(我正在使用该部分),我正在使用回调进行处理.
我想填充"source_files".
var fs = require('fs');
var source_files = [];
function readConfig(callback) {
fs.readFile('data.json', 'utf-8', function (err, content) {
if (err) return callback(err);
callback(content);
});
}
readConfig(function(config) {
var settings = JSON.parse(config);
var inputs = settings.inputs;
for (var id=0; id < inputs.length; id++) {
source_files.push(inputs[id].replace('./',''));
}
});
console.log(source_files);
Run Code Online (Sandbox Code Playgroud)