Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 Rails-使用browserify Rails访问application.js中的节点_模块_Ruby On Rails 4_Browserify Rails - Fatal编程技术网

Ruby on rails 4 Rails-使用browserify Rails访问application.js中的节点_模块

Ruby on rails 4 Rails-使用browserify Rails访问application.js中的节点_模块,ruby-on-rails-4,browserify-rails,Ruby On Rails 4,Browserify Rails,“默认情况下,只有/app和/node_模块中的文件才被浏览”。但是,当我从npmjs安装一个包并尝试在application.js中引用它时,应用程序找不到它。有没有办法在我的Rails应用程序中使用browserify Rails来要求节点_模块 # command line $ npm intl-tel-input --save # application.js.coffee #= require intlTelInput # throws error Error: Cannot fi

“默认情况下,只有/app和/node_模块中的文件才被浏览”。但是,当我从npmjs安装一个包并尝试在
application.js
中引用它时,应用程序找不到它。有没有办法在我的Rails应用程序中使用browserify Rails来要求节点_模块

# command line
$ npm intl-tel-input --save

# application.js.coffee
#= require intlTelInput

# throws error
Error: Cannot find module 'intlTelInput' from '.../app/assets/javascripts'
当您使用
#=require…
时,它仍然使用Rails资产管道,并且无法访问npm模块。你应该做的是使用

var intlTelInput = require("intlTelInput");
哪个browserify将从npm模块中解析和查找。如果您包含了一个ES6解析器(比如babelify),那么您甚至可以这样做

import intlTelInput from "intlTelInput"

谢谢你的快速回复!这让我离加载文件更近了一步,因为它似乎加载了文件,但似乎没有将其添加为jQuery扩展名:
$(…)。intlTelInput不是一个函数
听起来可能我需要以其他方式处理它?如果您想在browserify模块中使用jQuery,则需要以同样的方式使用它。确保您已将jQuery作为依赖项添加到
package.json
中,然后您可以在需要的地方要求它添加
var$=require('jQuery')