【发布时间】:2018-01-02 09:38:33
【问题描述】:
我是 webpacker 和 yarn 的新手。我成功安装了这个包:
加纱时刻
EDIT2:
这是我的进口
# app/javascript/packs/application.js
import moment from 'moment/moment'
import 'moment/locale/de-ch'
问题:我无法在旧的 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 中:gem 'webpacker',github:'rails/webpacker'
- 将此行添加到 assets.rb:Rails.application.config.assets.paths
- 在 application.html.haml 的 %head 中添加:= javascript_pack_tag 'application'
- 重启 Rails 服务器并启动 webpacker
注意:我将我的应用程序从 Rails 4.2 升级到 5.0 和更高版本到 5.1;也许我的应用程序中缺少某些东西
【问题讨论】:
-
我在常规资产 JS 文件中使用 moment.js:app/assets/javascript/
.coffee -
你试过
import { moment } from 'moment/moment'吗? -
@palma 我现在做了;仍然是错误
-
我是否必须将旧的“资产”树包含到 webpacker 中?我今天安装了 webpacker,它不是一个新的 rails 应用程序
-
你能导入任何其他组件,库吗?你如何测试时刻的导入,我已经尝试了你的第二种方法并且它有效。
标签: javascript ruby-on-rails webpacker