如何在rails中要求一个javascript文件?

时间:2018-03-09 09:15:46

标签: ruby-on-rails

我使用Rails 5.1并在app / assets / javascripts vex.combined.js中有一个javascript文件,如何在application.js中使用它?

//= require jquery
//= require rails-ujs
//= require_tree .

var vex = require('vex.combined');

在浏览器控制台中返回错误:ReferenceError: require is not defined

更新:

使用//= require vex.combined

如何转换vex.registerPlugin(require('vex-dialog'));

返回

  

ReferenceError:未定义require

1 个答案:

答案 0 :(得分:0)

看,您不需要使用此var vex = require('vex.combined');

Rails Asset Pipeline:

资产管道提供了一个连接和缩小或压缩JavaScript和CSS资产的框架。它还增加了以其他语言编写这些资源的功能,例如CoffeeScript,Sass和ERB。

例如

当我们使用像application.js这样的//= require select2包含文件时,我们可以访问所有这些方法,例如在要求之后我们只调用select2();

之类的方法
$("#ID").select2();

当我们从//= require select2中移除此application.js时,它会显示

  

ReferenceError:select2不是函数

请尝试以下操作。

对于vex的最常见用法,您需要包括vex,vex-dialog,vex CSS文件和主题文件。

//= require vex.combined

确保目录正常,然后尝试运行基本警报,如

vex.dialog.alert('Thanks for checking out vex!')

实际上没问题。

var vex = require('vex-js')
vex.registerPlugin(require('vex-dialog'))

您正在尝试的浏览器/ webpack设置的两行代码。