繁体   English   中英

我应如何迁移到蛋白石0.7.0.beta

[英]How shall I migrate to opal 0.7.0.beta

我试图升级以使用Opal 0.7.0.beta。 我想编译为静态应用并按照http://opalrb.org/docs/static_applications/中的步骤进行操作

我的Rakefile如下图所示。 问题:

  1. 我如何需要重新处理:build任务以摆脱弃用消息。 我试过了。 使用Opal :: Server而不是Opal :: Environment,但是它不起作用。

  2. 我收到了“蛋白石已加载”的信息。 两次加载可能会造成麻烦,请修复您的设置.``

  3. undefined is not a function在生成的javascript中undefined is not a function Opal.mark_as_loaded(Opal.normalize_loadable_path("corelib/runtime"));

感谢蛋白石,并感谢您的任何建议。

# Rakefile
require 'opal'
require 'opal/sprockets/environment'
require 'opal-jquery'
require 'erb'
require 'zip'


ZUPFNOTER_JS = "../deploy_files/build.js"


desc "Build our app to #{ZUPFNOTER_JS}"
task :build do
  env = Opal::Environment.new
  env.append_path "."
  env.use_gem "vector2d"

  File.open(ZUPFNOTER_JS, "w+") do |out|
    out << env["application"].to_s
  end

  Dir.glob "../public/*.scss" do |f|
    cmd = "sass #{f} > #{File.dirname(f)}/#{File.basename(f, ".scss")}.css"
    puts sh cmd
  end
end

...

类似于以下内容的东西应该起作用:

require 'opal'
task :build do
  env = Sprockets::Environment.new
  Opal.append_path '.'
  Opal.use_gem 'vector2d'
  Opal.paths.each { |p| env.append_path(p) }

  File.open(ZUPFNOTER_JS, 'w+') { |out| out << env['application.js'].to_s }

  # …
end

我还建议也使用相同的链轮环境来构建SCSS,因为它应该开箱即用(也许也require "sass" )。

问题2: require opal就足够了; 无需在HTML页面中加载opal.min.js

问题#3:加载的opal.min.js为0.6.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM