2017-07-26 7 views
0

ウェブパッカーと糸を初めて使用しています。私はパッケージを正常にインストール:私は使用できません。これは私のインポートRails 5.1 Webpacker - 糸を使ってmoment.jsを追加 - 古いアセットでパッケージを使用する方法JS

# app/javascript/packs/application.js 
import moment from 'moment/moment' 
import 'moment/locale/de-ch' 

問題である

糸が一瞬に

EDIT2を追加します私の古いJSアセットファイルの "moment"パッケージ

まず作品、他ではない:

# in: app/javascript/packs/application.js 
console.log('Log: ' + moment([2007, 0, 29]).toNow()) #=> Log: in 10 Jahren 

# in app/*assets*/javascripts/application.js 
console.log('Log2: ' + moment([2007, 0, 29]).toNow()) #=> Uncaught ReferenceError: moment is not defined 

EDIT1:

ここwebpackerのインストールプロセスのキーポイント:gemfileで

  1. 宝石「webpacker '、github:' rails/webpacker '
  2. この行をassets.rbに追加します。Rails.application.config.assets.paths < < Rails.root.join( 'node_modules')
  3. はapplication.html.hamlこの%のヘッドに追加します。= javascript_pack_tag 'アプリケーション'
  4. 再始動レールサーバーとスタートWebpacker

注:私は、Rails 4.2から5.0以降を5.1にアップグレードしました。多分何かが

+0

:アプリ/資産/ javascriptの/ .coffee – Lowryder

+0

を、あなたは「瞬間/ moment''から 'インポート{瞬間を}しようとしましたか? –

+0

@palma私は今でした。それでもエラー – Lowryder

答えて

0

まず私のアプリに欠けている私は、これが解決策であると思ったが、そうではありません:「/config/webpacker.yml」でhttps://github.com/rails/webpacker#resolved-paths

私はこれを追加しました:ここ

# /config/webpacker.yml  
resolved_paths: ['app/assets'] 

アン

# /app/javascript/packs/application.js 
import 'javascripts/<folder>/<some_file_uses_moment>.coffee' 

=>それでもエラー

:私は "moment.js" を使用したファイルをインポート10

後、私はこの記事を源泉: http://samuelmullen.com/articles/embracing-change-rails51-adopts-yarn-webpack-and-the-js-ecosystem/

アセットパイプラインに何が起こりましたか?長い話は短い:何もない。 は、常にアセットパイプラインを使用できます。「 がアセットパイプラインに似ている場合は、アセットパイプラインを維持できます。その には、javascripts /ディレクトリが含まれています。パッケージ化されたファイル を、ビュー内の「パイプライン」ファイルと混在させることもできます。 パッケージファイルを「パイプライン」ファイルに含めることはできません。まあ、簡単ではありません。

私が「古い」資産JSと「瞬間」のパッケージを混在させることはできませんようだ(?)

0

私はmomentjsアプリ/資産/ JavaScriptファイル全体で使用されていたという同様の問題を持っていますそれは宝石(実際には悪いことに、レール資産)に含まれていました。私たちは両方とも、パックの中だけではなく、世界中で利用可能な瞬間オブジェクトが必要であるように見えます。だから、私はapp/assets/javascriptファイルを取り除くまで、以下のことを私のために固定しておきます。私は定期的な資産JSファイルでmoment.js使用

import moment from 'moment' 

window.moment = moment 
関連する問題