所以我刚刚开始尝试使用require.js并且它似乎没有工作.当我使用标签将其包含在我的html中时:
<script data-main="scripts/main" src="bower_components/require/build/require.js"></script>
Run Code Online (Sandbox Code Playgroud)
在chrome中加载页面时出现以下错误
Uncaught TypeError: Cannot read property '__MODULE_PATH__' of undefined -> require.js:538
Run Code Online (Sandbox Code Playgroud)
在Firefox中我得到一个稍微不同的错误:
TypeError: parent is undefined -> require.js:538
Run Code Online (Sandbox Code Playgroud)
不知道我是如何导致这个问题的,因为它是一个全新的require.js安装,我的main.js中还没有代码.
提前致谢
我遇到Ruby on Rails运行速度非常慢的问题.我在Windows 8机器上使用Ruby 2.1.3p242和Rails 4.2.1.
每当我运行需要启动轨道(包括测试)的任何东西时,启动和运行需要很长时间.在干净安装的rails上,我在config/environment.rb中调用了Benchmark:
require File.expand_path('../application', __FILE__)
User cpu System Cpu Total Cpu elapsed time
0.000000 0.000000 0.000000 (0.000000)
Rails.application.initialize!
15.282000 2.891000 18.173000 ( 18.201173)
Run Code Online (Sandbox Code Playgroud)
很明显Rails.application.initialize,考虑到它的清洁安装需要花费很长时间.
在此先感谢您的帮助
编辑-1:我正在运行双核i3 4010u@1.7GHZ,内存为4GB.我不认为我的机器太糟糕了,因为它运行得非常好.
编辑-2:我跑ruby-prof了Rails.application.initialize,找到了罪魁祸首.一个过程占用了85%的运行时间:
<Module::SecureRandom>#random_bytes
<Module::OpenSSL::Random>#random_bytes
Run Code Online (Sandbox Code Playgroud)
这显然是在Ruby21/lib/ruby/2.1.0/securerandom.rb#62
我查找该文件中的第62行时出现的,这就是我发现的:
return OpenSSL::Random.random_bytes(n)
Run Code Online (Sandbox Code Playgroud)
所以任何人都知道这意味着什么?
这里很奇怪 在异步模式下使用React-Select v1.0.0rc(尽管所有v1.x都会发生错误)在异步模式下使用它搜索API时,有时选项不会显示在下拉菜单中。似乎没有理由解释这种情况的发生,但是某些搜索查询而不是其他查询会发生这种情况。
例如,尽管两个都返回相似的结果,但它可以coconut工作coconut oil,但不能。
奇怪的是,使用React chrome开发人员工具,我可以看到这些选项是在Select的状态下设置的,但它们只是不显示。另外,如果我单击react-select,然后再单击它,则会显示结果(在Firefox和chrome中测试)。这是我的代码和一些截图以说明
<Select.Async name={ this.generateName('ingredient_id')}
loadOptions={this.getIngredients}
className="admin-meal-ingredient-search-select"
autoload={false}
cache={false}
multi={false}
value={this.props.ingredient}
onChange={this.props.handleIngredientChange}
placeholder="Search for ingredient" />
Run Code Online (Sandbox Code Playgroud)
出现
我使用Capybara-webkit在功能规范中使用actioncable时遇到问题.Actioncable在我的开发服务器上工作得很好,但是当测试javascript似乎无法连接时.
这是我的功能规范期间运行的javascript控制台的输出
WebSocket connection to 'ws://127.0.0.1:32789/cable' failed: Unexpected response code: 200
Run Code Online (Sandbox Code Playgroud)
这是我test.log那时的输出
GET "/cable" for 127.0.0.1 at 2017-01-26 13:33:23 +0000
GET "/cable/" for 127.0.0.1 at 2017-01-26 13:33:23 +0000
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
Run Code Online (Sandbox Code Playgroud)
它奇怪,因为它似乎根据日志连接正常,但javascript引发错误并停止执行...另外,如何200错误代码?并不200状态代码总是意味着OK?
提前致谢
ruby-on-rails websocket capybara capybara-webkit actioncable
所以我使用browserify来管理我正在处理的项目的模块.
每个文件都包含以下内容:
module.exports = function(){
// class constructor
}
Run Code Online (Sandbox Code Playgroud)
然后在我的main.js文件中,我创建了这样的新对象:
var Foo = require('./foo.js');
var foo = new Foo();
Run Code Online (Sandbox Code Playgroud)
问题是,我不知道如何在此设置中使用原型继承.通常,如果我希望类Foo从类Bar继承,我会做这样的事情:
Foo.prototype = new Bar();
Foo.prototype.constructor = Foo;
Foo = function(){
Bar.call(this)
}
Run Code Online (Sandbox Code Playgroud)
我将如何使用browserify执行这些操作?我以为我会用module.export替换所有的Foos,但是我试图继承一些来自easeljs的东西而且它只是不起作用.它说'this'没有在容器的初始化器中定义.
提前致谢!
javascript ×3
actioncable ×1
browserify ×1
capybara ×1
easeljs ×1
openssl ×1
prototype ×1
react-select ×1
reactjs ×1
requirejs ×1
ruby ×1
websocket ×1