Rails - 使用browserify rails

时间:2016-04-28 22:54:09

标签: ruby-on-rails-4 browserify-rails

browserify-rails documentation说"默认情况下,只有/ app和/ node_modules中的文件是浏览器化的#34;。但是,当我从npmjs安装一个包并尝试在application.js中引用它时,应用程序找不到它。有没有办法在我的Rails应用程序中使用browserify-rails来要求node_modules?

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

# application.js.coffee
#= require intlTelInput

# throws error
Error: Cannot find module 'intlTelInput' from '.../app/assets/javascripts'

1 个答案:

答案 0 :(得分:2)

当您使用#= require ...时,它仍然使用Rails资产管道,并且无法访问npm模块。你应该做的是使用

var intlTelInput = require("intlTelInput");

哪个browserify将从npm模块解析和查找。如果您已经包含了ES6解析器(如babelify),那么您甚至可以这样做

import intlTelInput from "intlTelInput"