我使用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
太
答案 0 :(得分:0)
看,您不需要使用此var vex = require('vex.combined');
资产管道提供了一个连接和缩小或压缩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设置的两行代码。