Ruby on rails 4 Rails-使用browserify Rails访问application.js中的节点_模块
“默认情况下,只有/app和/node_模块中的文件才被浏览”。但是,当我从npmjs安装一个包并尝试在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
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')代码>