Rails - 使用 browserify rails 在 application.js 中访问 node_modules
Rails - access node_modules in application.js with browserify rails
browserify-rails documentation 表示 "By default only files in /app and /node_modules are browserified"。但是,当我从 npmjs 安装包并尝试在 application.js
中引用它时,应用程序找不到它。有没有办法使用 browserify-rails 在我的 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'
当你使用 #= require ...
时,它仍然使用 Rails 资产管道,这将无法访问 npm 模块。你应该做的是使用
var intlTelInput = require("intlTelInput");
哪个 browserify 将从 npm 模块中解析和查找。如果你已经包含了一个 ES6 解析器(比如 babelify)那么你甚至可以这样做
import intlTelInput from "intlTelInput"
browserify-rails documentation 表示 "By default only files in /app and /node_modules are browserified"。但是,当我从 npmjs 安装包并尝试在 application.js
中引用它时,应用程序找不到它。有没有办法使用 browserify-rails 在我的 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'
当你使用 #= require ...
时,它仍然使用 Rails 资产管道,这将无法访问 npm 模块。你应该做的是使用
var intlTelInput = require("intlTelInput");
哪个 browserify 将从 npm 模块中解析和查找。如果你已经包含了一个 ES6 解析器(比如 babelify)那么你甚至可以这样做
import intlTelInput from "intlTelInput"