javascript - 如何在没有 gem 文件的情况下在 ruby​​-on-rails 中使用 javascript 库?

标签 javascript ruby-on-rails github

如果是 gem 文件,我可以在安装 gem 文件后使用 javascript 库,但我不知道如何使用我找到的这个库!

(这是github上的库的链接) https://github.com/teampopong/hangul-jamo-js

本节描述如何使用代码。 我使用了“casperjs”库彻底安装。 但这对我来说是新的...没有 gem 文件..

我想使用这个库来分割我的 javascript 文件中的韩语字符串对象!

======================编辑================== =========================

我想在我的 javascript 文件中使用hangul-jamo-js 的方法,如下所示

这是我的 javascirpt 文件之一,包括 casperjs 代码

//= require hangul-jamo.js

var a = HANGUL.toChosungs('강철');
***there is underline on HANGUL when I put this code***
var words = [];
var casper = require('casper').create();

。 。 这是我的 application.html.erb 头部

<title>Workspace</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <script src="https://raw.githubusercontent.com/teampopong/hangul-jamo-js/master/hangul-jamo.js"></script>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>

我编写的所有代码都引用下面的答案但是 在我的 javascript 文件中,它说“未定义 HANGUL”...

但是当我将所有 Hangul-jamo-js 代码放入我的 javascript 文件中时,它定义了...

如何在我的 javascript 中使用此 Hangul-jamo-js 代码?我必须通过这个命令运行我的代码

parkhk1757@wow:~/workspace/app/assets/javascripts $ casperjs myjavascript.js

最佳答案

原始答案

最简单的解决方案是这样:

<script src="https://raw.githubusercontent.com/teampopong/hangul-jamo-js/master/hangul-jamo.js"></script>

<head> app/views/layouts/application.html.erb 部分文件。然后您可以使用 Hangul.startsWith... 的代码等

更新答案

好吧,看来您混淆了网络应用程序的两个不同部分。

application.html.erb

您的 application.html.erb 通过网络请求被命中。您需要启动 Rails 服务器(例如 bin/rails s )并从浏览器转到 localhost:3000 来加载hangul-jamo.js,并且它仅适用于该文件之后加载到该页面上的 javascript。这听起来不像你想要的。

casperjs

据我了解(我自己没有使用过),casperjs 是一个命令行程序,用于运行用 Javascript 编写的脚本文件(在您的例子中为 myjavascripts.js)。该脚本文件用于通过使用 PhantomJS 加载页面来针对您的 Web 应用程序运行测试,就像您在浏览器中加载它一样。您的 web 应用程序中加载的 Javascript 文件(例如hangul-jamo.js)在您的 myjavascripts.js 文件中不可用。

解决方案

为了能够使用hangul-demo.js,首先请注意 capserjs uses the PhantomJS require ,这意味着它使用 CommonJS 风格的模块。 Here's an introduction to CommonJS modules.我已经把它变成了 CommonJS 风格的模块 here 。放入文件夹node_modules/并从 myjavascripts.js 中使用,如下所示:

var hangul = require('./hangul');
console.log(hangul.toJamos('hello'));

关于javascript - 如何在没有 gem 文件的情况下在 ruby​​-on-rails 中使用 javascript 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32402433/

相关文章:

PHP/HTML : If url is domain. co.uk/?debug 然后

javascript - 使用 jquery 更改事件选项卡

ruby-on-rails - AWS 上的 dockerised rails 应用程序中的 Sidekiq

git - Jenkins 只构建一个被推送的分支

git - 如何恢复我在本地删除但尚未提交的文件?

node.js - 从 github 存储库安装 npm 不安装 devDependency

javascript - js sequelize 嵌套查询/遍历结果

javascript - fadeIn li 一一

ruby-on-rails - 避免 Rails 4 中的 Float 截断

ruby-on-rails - 从另一个 Controller 创建 ActiveRecord 对象 - 我做对了吗?