一个简单的问题:如何从ruby加载纯.js文件?
我当前的策略是从ruby内加载.js文件是使用commonjs gem。我知道指令是要加载js目录,然后需要file。不幸的是,当我尝试加载目录以将nil转换为字符串时,我一直收到TypeError。
这是我的文件结构:
.
├── Gemfile
├── LICENSE.md
├── README.md
├── Rakefile
├── lib
│ ├── example
│ │ ├── js
│ │ │ ├── data.json
│ │ │ ├── expressions.js
│ │ │ └── javascript_i_want_to_run.js
│ │ └── version.rb
│ └── example.rb
├── example.gemspec
├── script
└── test
按照commonjs的说明进行操作,这是从pry调用时遇到的失败(注意,我正在加载目录而不是file)。
[1] pry(main)> require 'commonjs'
=> true
[2] pry(main)> env = CommonJS::Environment.new(path: 'lib/example/js')
TypeError: no implicit conversion of nil into String
from /usr/local/rvm/gems/ruby-2.1.5@rails4/gems/commonjs-0.2.7/lib/commonjs/environment.rb:9:in `initialize'
我很困惑 有什么想法会发生什么吗?
自述文件中有一个错误。类initialize
方法中的第一个参数CommonJS::Environment
是runtime
。它应该是:
require 'commonjs'
require 'v8'
runtime = V8::Context.new
env = CommonJS::Environment.new(runtime, path: 'lib/example/js')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句