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'
答案 0 :(得分:2)
当您使用#= require ...
时,它仍然使用Rails资产管道,并且无法访问npm模块。你应该做的是使用
var intlTelInput = require("intlTelInput");
哪个browserify将从npm模块解析和查找。如果您已经包含了ES6解析器(如babelify),那么您甚至可以这样做
import intlTelInput from "intlTelInput"