![](/img/trans.png)
[英]How to save javascript variable to database in Ruby-on-Rails?
[英]How to use javascript libary in ruby-on-rails with no gem file?
如果是gem文件,我可以在安裝gem文件后使用javascript庫,但是我不知道如何使用我發現的這個庫!
(這是github中庫的鏈接) https://github.com/teampopong/hangul-jamo-js
這一篇介紹了如何使用代碼。 我使用“ casperjs”庫進行了徹底的安裝。 但這對我來說是新的...沒有gem文件。
我想使用此庫在我的JavaScript文件中拆分韓文字符串對象!
===================== 編輯 ============================ ================
我想在我的javascript文件中使用hangul-jamo-js的方法,例如
這是我的包括casperjs代碼的javascirpt文件之一
//= 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
在網頁標題中
<%= javascript_include_tag "route_to_your_js" %>
http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/javascript_include_tag
但是,如果您希望特定頁面為其布局頁面標題提供幫助,請查看content_for
您可能想要嘗試將js文件的本地設置放在您的app/assets/javascript
文件中,並將其作為必需資產包含在application.js文件中
即: //= require hangul-jamo.js
將hangul-jamo.js文件包含到..app / assets / javascripts文件夾中,並在application.js中添加引用,例如
將文件包含在application.js文件中。
//= require yourjsfile.js
默認情況下,您將擁有
//= require_tree .
這需要資產/ javascript路徑中的所有js文件,因此您不必自己輸入,而是應將文件放在資產/ javascript路徑中。
最簡單的解決方案是:
<script src="https://raw.githubusercontent.com/teampopong/hangul-jamo-js/master/hangul-jamo.js"></script>
在app/views/layouts/application.html.erb
文件的<head>
部分中。 然后,您可以將代碼與Hangul.startsWith...
等一起使用。
好吧,看來您正在混淆Web應用程序的兩個不同部分。
application.html.erb
您的application.html.erb是通過網絡請求命中的。 您將需要啟動Rails服務器(例如bin/rails s
),並從瀏覽器轉到localhost:3000來加載hangul-jamo.js,並且該文件僅適用於該頁面之后加載的javascript。 這聽起來不像您想要的。
casperjs
據我了解(我自己還沒有使用過),casperjs是一個命令行程序,可用於運行以Javascript編寫的腳本文件(在您的情況下為myjavascripts.js)。 該腳本文件用於通過使用PhantomJS加載頁面,就像在瀏覽器中加載頁面一樣,對您的Web應用程序運行測試。 Webapp中加載的Javascript文件(例如hangul-jamo.js)在myjavascripts.js文件中不可用。
為了能夠使用hangul-demo.js,首先請注意capserjs使用PhantomJS require ,這意味着它使用CommonJS樣式模塊。 這是CommonJS模塊的介紹。 我已經把它變成一個CommonJS的風格模塊這里 。 放入文件夾node_modules/
並從myjavascripts.js進行如下使用:
var hangul = require('./hangul');
console.log(hangul.toJamos('hello'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.