2016-04-28 13 views
1

browserify-rails documentationには、「デフォルトでは/ appおよび/ node_modulesのファイルのみがブラウズされています」と記載されています。しかし、npmjsからパッケージをインストールし、application.jsで参照しようとすると、アプリケーションはそれを見つけることができません。 browserify-railsを使ってRailsアプリケーションでnode_modulesを要求する方法はありますか?Rails - browserifyのレールを使用してapplication.jsの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' 

答えて

2

あなたが#= require ...を使用する場合、それはまだRailsのアセットパイプラインを使用し、それがNPMモジュールにアクセスすることはできません。代わりに何をすればいいのですか?

var intlTelInput = require("intlTelInput"); 

どのbrowserifyがnpmモジュールを解析して検索しますか?あなたがESLパーサー(babelifyのような)を含んでいれば、このようにすることもできます。

import intlTelInput from "intlTelInput" 
+0

ありがとうございました!これは、ファイルをロードするように見えるので一歩近づくが、jQuery拡張として追加しているようには見えない: '$(...)。intlTelInputは関数ではない'私はそれを他の方法? – steel

+0

jQueryをbrowserifyモジュールで使用する場合は、同じ方法でjQueryを必要とする必要があります。 'package.json'の依存関係としてjQueryが追加されていることを確認してから、' var $ = require( 'jQuery'); – DanneManne

関連する問題